OGG Key column is missing from update on table

今天遇到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/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值