ITPub博客

首页 > 数据库 > Oracle > OGG Key column is missing from update on table

OGG Key column is missing from update on table

原创 Oracle 作者:SnowDBA 时间:2015-07-29 16:25:37 0 删除 编辑
今天遇到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博客 ” ,链接:https://blog.itpub.net/29047826/viewspace-1755535/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 温习,有备无患
请登录后发表评论 登录
全部评论

注册时间:2014-06-21

  • 博文量
    223
  • 访问量
    1633587