OGG-01163解决

版权声明:原创文章,转载请注明出处。 https://blog.csdn.net/weixin_40559167/article/details/81746287

生产系统上的一套oracle—>mysql的ogg报错:

ERROR   OGG-01163  Oracle GoldenGate Delivery for MySQL, rep15.prm:  Bad column length (220) specified for column CG_SEND_INFO4 in table SHOP88.TB_AG003, maximum allowable length is 200.

很明显,是有人修改了源端表的字段长度,而该ogg未配置ddl同步,导致目标端数据无法插入。

解决方法:
首先想到的是同样修改目标端该字段的长度为500,重启进程,报同样的错。

查看./ogg/dirdef/table.def,发现该表的字段长度仍然为修改之前的值。且源端和目标端都为修改之前的值。
修改源端和目标端的def文件中该字段的长度。
再次重启进程,还是报同样的错。

通过查询发现,虽然源端和目标端该字段的长度已修改,且def文件也都已修改,但生成的trail文件中的meta信息并不会更新。replicat进程默认按照trail文件中的meta信息进行操作。所以还是报错。

GGSCI (hzdb01) 24> edit params REP15

replicat rep15
sourcedefs /u01/app/ogg/dirdef/15table.def OVERRIDE

注意一定添加OVERRIDE选项,新的def内容才能覆盖trail中的meta信息。
启动replication进程恢复正常。

猜你喜欢

转载自blog.csdn.net/weixin_40559167/article/details/81746287
ogg