增量同步失败报错,关键词“service INCREMENT failed, caused by: column *** of primary key null in table table_name value not set in source db log”
场景描述
Oracle为源端数据库增量同步阶段报错,同步日志界面提示:service INCREMENT failed, caused by: column *** of primary key null in table table_name value not set in source db log.
可能原因
目标库主键值在源库日志中未记录,因源库主键和目标库主键不一致导致。
解决方案
方案一:在源端补充日志中多记录目标库多的主键列:ALTER TABLE SCHEMA名.表名 add supplemental log group groupname(目标库缺失的列) always;
方案二:请参考源库Oracle补全日志检查方法,将报错表的源库补充日志修改为ALL,按表级修改即可:alter table SCHEMA名.表名 add supplemental log data(all) columns;
方案三:源库主键修改为和目标库一致的联合主键。