OGG replicat出现ORA-01403 错误NO data found

本文介绍了一个在使用OGGreplicat进行数据库同步时遇到ORA-01403错误NOdatafound的问题,并提供了解决方案。通过在参数中添加HANDLECOLLISIONS,当目标端丢失删除或更新记录时,目标端能够自动处理这些冲突数据。同时,文章还解释了HANDLECOLLISIONS参数的工作原理及其适用场景。
摘要由CSDN通过智能技术生成
OGG replicat出现ORA-01403 错误NO data found
今天OGG出现表数据不同步,入库端接收update和delete语句时出现ORA-01403 错误NO data found

一直同步,排除掉表也无法解决!

解决:
在参数中添加 HANDLECOLLISIONS   当target端缺失delete 、update数据时,target端 自动处理。

停止replicat进程,先将要同步的表mapexclude,然后将在目标端上重新初始化此表,保证源和目标上此表的数据是一致,然后再在replicat进程中将表重新map,启动进程。


网上资料:
HANDLECOLLISIONS是我们使用goldengate过程中常有的一个REPLICAT参数,该参数依赖于主键或唯一索引处理冲突数据,常用于初始化阶段。对于无主键或唯一索引的表无法处理冲突,且可能导致重复记录。注意打开此参数则所有数据错误不管reperror如何配置均不再写discard文件,即所有数据冲突信息被默认规则处理,没有任何日志(则会忽略error mapping数据错误,而且不会报告到discard文件),因此日常复制不建议使用该参数;可予以考虑的特殊场景为只需新增数据,无需复制历史数据。

使用HANDLECOLLISIONS的几个场景:

1、target丢失delete记录(missing delete),忽略该问题并不记录到discardfile
2、target丢失update记录(missing update)
            更新的键值是主键=》 update转换成INSERT ,默认情况下插入记录不完整
            更新的键值是非主键=》 忽略该问题并不记录到discardfile
3、重复插入已存在的主键值到target表中,这将被replicat转换为UPDATE现有主键值的行的其他非主键列情景1 target丢失delete记录(missing delete) :





来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29863023/viewspace-1362010/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29863023/viewspace-1362010/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值