今天遇到OGG复制进程中断,现象如下:
1. OGG错误日志ggserr.log中提示 OGG-01296 Error mapping from <schema>.<table1> to <schema>.<table1>
2. discard文件中提示Key column <column>(number) is missing from update on <schema>.<table>
下面解释原因以及处理方案
原因: 源库同步表含有各种约束,其中包括主键。在dba_constraints数据字典中constraint_type=‘P’可查。 在目标端库该表没有相对应的主键,导致下列故障。
处理方案: 对该表重新初始化,确保目标库同步表含有源表中的主键。
案例分析:为什么出现这样问题?
在OGG早期版本中,初始化数据库表后需要在目标端禁用触发器和外键级联删除约束(disableing triggers and referential cascade constraints on target tables),防止这些功能对OGG同步表做二次修改。在最新的12c版本中不再需要这么做了。
为了防止遗忘该disable操作而引发错误,在初始化时的expdp脚本中使用了exclude=constraint,trigger语句过滤掉所有外键和约束,但是也过滤掉了主键! 目标端使用impdp导入时候直接导致目标表缺少主键,从而引发上述故障。
参考文章:Doc ID 1276538.1
下面是错误截图
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29047826/viewspace-1755535/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29047826/viewspace-1755535/