GoldenGate 复制进程报错"OGG-01296 Error mapping",丢弃文件报错“Mapping problem with delete record (target format)...

故障描述:

(1).复制进程 Abended,通过 view report语句查看可发现类似如下的报错:
2017-10-23 15:01:43 ERROR OGG-01296 Error mapping from CMS_ADM.T3010 to CMS_ADM.T3010.
(2).查看丢弃文件(Discard File)的内容类似如下:
Oracle GoldenGate Delivery for Oracle process started, group RAOC discard file opened: 2017-10-23 15:28:08.467831
Key column PK_ID (0) is missing from delete on table CMS_ADM.T3010
Missing 1 key columns in delete for table CMS_ADM.T3010.
Current time: 2017-10-23 15:28:18
Discarded record from action ABEND on error 0
Aborting transaction on ./dirdat/ao beginning at seqno 17674 rba 29602113
error at seqno 17674 rba 29602113
Problem replicating CMS_ADM.T3010 to CMS_ADM.T3010
Mapping problem with delete record (target format)...
*
P_CODE = 01206135
000000: 30 31 32 30 36 31 33 35 01206135
 
AIRCRAFT_TYPE = 737GY
000000: 37 33 37 47 59 737GY
 
TECH_NO = Z030
000000: 5a 30 33 30 Z030
 
START_DATE = 2017-10-19 00:00:00
000000: 32 30 31 37 2d 31 30 2d 31 39 20 30 30 3a 30 30 2017-10-19 00:00
000010: 3a 30 30 :00
(3).源端查看同步表的 TRANDATA, 发现记录字段 为 P_CODE、AIRCRAFT_TYPE、TECH_NO、START_DATE。同时,表不久前更换主键为 PK_ID。
 
故障原因:
同步表更换主键列后,复制进程采用新主键(PK_ID)作为唯一标示,而源端投递过来的 trail 文件仍使用原来的主键(P_CODE、AIRCRAFT_TYPE、TECH_NO、START_DATE)作为唯一标示。因此当执行删除语句时,由于需要 靠唯一标示定位数据,因此复制进程报错。
 
故障处理方式:
1.重新同步
注意:此方式 整改彻底,可以 避免原主键有朝一日 失去唯一性的情况方式。
(1).暂停抽取进程。
(2).对更换主键的表重新添加 TRANDATA(DELETE TRANDATA 随后 ADD TRANDATA),确保作为唯一标示的记录字段为更新后的主键。
(2).重启抽取进程。
2.临时处理
(1).修改目标端复制进程参数,使原有同步参数变为如下。
MAP CMS_ADM.T3010, TARGET CMS_ADM.T3010, KEYCOLS(P_CODE, AIRCRAFT_TYPE, TECH_NO, START_DATE);
(2).重启复制进程。
 

转载于:https://www.cnblogs.com/autopenguin/p/7728832.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值