关键字
KingbaseFlysync,KFS,Oracle,DataGuard,DG,redo,备机,有主键,无主键,update,没有key值,key值不全
问题描述
源端Oracle DataGuard在备机以redo的方式部署KFS,当源端对有主键的表执行update操作后,kufl中没有key值。
当源端对无主键表执行update操作后,kufl中的key值不全
问题分析
Oracle DataGuard备库开启了KFS要求的所有补全日志,但是主库只开启了部分补全日志。
主库补全日志开启情况
备库补全日志开启情况
解决方案
1.按照部署要求将Oracle DataGuard主库的补全日志也全打开。 开启补全日志 (建议在 MOUNT 模式下执行)
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
Database altered.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
Database altered.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
Database altered.
2.重新部署KFS