Oracle GoldenGate导致IMP出现ORA-32588错误

客户说在向实施GG之后的源库导入数据收到如下的报错:

Oracle GoldenGate导致IMP出现ORA-32588错误

从这个报错可以看出,为表添加的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--

相关推荐