欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-05-14 17:09:38
...

由于客户的数据库的某些表没有主键或唯一键标识表行的唯一性,所以Oracle GoldenGate自动的为这部分表添加了ALL COLUMN等类型的补

客户说在向实施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--

GoldenGate单向表DML同步

Oracle GoldenGate 系列:Extract 进程的恢复原理

Oracle GoldenGate安装配置

Oracle goldengate的OGG-01004 OGG-1296错误

Oracle GoldenGate快速入门教程:基本概念和配置

搭建一个Oracle到Oracle的GoldenGate双向复制环境