Oracle GoldenGate导致IMP出现ORA-32588错误
由于客户的数据库的某些表没有主键或唯一键标识表行的唯一性,所以Oracle GoldenGate自动的为这部分表添加了ALL COLUMN等类型的补
客户说在向实施GG之后的源库导入数据收到如下的报错:
从这个报错可以看出,为表添加的ALL COLUMN等类型的补充日志导致数据导入失败。
回想Oracle GoldenGate的实施步骤,在做以下操作时,Oracle GoldenGate会根据表的情况添加适当的补充日志:
ADD TRANDATA .;
由于客户的数据库的某些表没有主键或唯一键标识表行的唯一性,所以Oracle GoldenGate自动的为这部分表添加了ALL COLUMN等类型的补充日志,用整个行来标识表行数据的唯一性,,这是Oracle GoldenGate正常的行为。
参考Oracle对该错误的解释:
ORA-32588: supplemental logging attribute string exists
Cause: specified supplemental logging attribute exits.
Action: retry the alter/create ddl after removing this supplemental logging attribute.
执行ALTER TABLE XXX DROP SUPPLEMENTAL LOG DATA (ALL) COLUMNS;等命令将表对应的补充日志删除之后再次尝试导入。
当然最好且最简单的办法是执行如下的GoldenGate命令准确的卸载表对应的补充日志:
GGSCI> DELETE TRANDATA .;
--end--
GoldenGate单向表DML同步
Oracle GoldenGate 系列:Extract 进程的恢复原理
Oracle GoldenGate安装配置
Oracle goldengate的OGG-01004 OGG-1296错误
Oracle GoldenGate快速入门教程:基本概念和配置
搭建一个Oracle到Oracle的GoldenGate双向复制环境
上一篇: Tensorflow之Saver的用法