Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

2135

积分

502

好友

184

主题
1#
发表于 2012-4-15 14:50:36 | 查看: 13419| 回复: 4
OGG  oracle goldengate 1403错误解决方法



1. 错误描述
WARNING OGG-01154 Oracle GoldenGate Delivery for Oracle, repyxb.prm: SQL error 1403 mapping SGPM.P_SMS_SEND to SGPM.P_SMS_SEND.
WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, repyxb.prm:  Repositioning to rba 2509817 in seqno 1.
ERROR OGG-01296 Oracle GoldenGate Delivery for Oracle, repyxb.prm:  Error mapping from SGPM.P_SMS_SEND to SGPM.P_SMS_SEND.
ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, repyxb.prm:  PROCESS ABENDING.

2. 错误原因和分析
SQL ERROR 1403属数据错误,指记录无法投递到目标数据库,需通过查看错误信息及discarded文件,到两端库寻找相应记录,并结合logdump工具分析队列中的实际数据,分析出现该错误的原因,进而解决该问题。
造成该错误的可能原因:
两端表结构不一致
附加日志错误
初始化方法错误导致不一致
目标端级联删除、trigger没有被禁止
该表存在不写日志的DML操作


3. 处理方法

3.1 两端表结构不一致
重新初始化该表


3.2 附加日志错误
在源端确认该表附加日志是否为enable状态,执行命令:
GGSCI>INFO TRANDATA schema.table_name
如果不是,重新添加附加日志,执行命令
GGSCI>ADD TRANDATA schema.table_name
加完附加日志后需要重新对该表执行初始化,具体方法请参照运维方案。

3.3 初始化方法错误导致数据不一致
GG在执行删改操作时,由于初始化方法错误造成的数据不一致,使得GG删除的记录不存在,或修改的数据前影像不一致。此时,可通过logdump观察具体错误,如果记录条数不多,则可手动修复该错误。如果记录数非常多,则需对该表进行重新初始化或在replicat进程中添加handlecollisions参数(加handlecollisions参数的前提为该replicat进程复制的表均有主键或唯一约束)。

3.4 目标端级联删除、trigger没有被禁止
删除目标端trigger及主外键约束即可。
禁止trigger:

禁止主外键约束:

3.5 该表存在不写日志的DML操作
当表处于logging状态且使用了以下数据装载模式+nologging时DML将不会被写入数据库日志,OGG无法捕获到:
? /*+ APPEND */ hint
? /*+ BUFFER */ hint
? /*+ PARALLEL */ hint
? SQLLDR with DIRECT=TRUE
请首先检查表是否处于logging mode,然后从应用方面检查是否存在这些限制。如果有需要调整表为logging模式,对表执行重新初始化,具体方法请参照运维方案。

3.6 定时任务
观察数据库是否存在定时任务自动修改数据。
同样,对于操作系统级也进行检查,是否有脚本自动修改数据库中数据。
如有以上现象,请禁止这些任务,对已经受影响的表执行初始化。

3.7 数据初始化带来的不一致
如果数据初始化时候没有使用SCN号做恢复和启动OGG进程,则可能会丢失部分数据,在日后的运行过程中报告1403错误。

3.8 人为修改OGG进程检查点带来的数据不一致
如果使用了alter extract/replicat等操作修改过OGG的检查点,则可能会出现丢失数据或者部分时段数据重复现象,造成运行期间报告1403错误。

3.9 人为修改目标端数据
人为失误修改目标数据也会造成两端数据不一致。
下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/zh-hans/emergency-services

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569   
2#
发表于 2013-11-27 21:35:19
数据复制典型错误 - SQL error 1403 mapping

2010-02-25 13:20:08  GGS WARNING     218  Oracle GoldenGate Delivery for
Oracle, rep_stnd.prm:  SQL error 1403 mapping HR.MY_EMPLOYEE to HR.MY_EMPLOYEE.


错误分析:

可能原因包括:
两端结构不一致(异构环境,列和主键不同)
两端有不一致记录
附加日志不全
可以到discard文件中查看具体错误信息,如果为update 或者delete找不到对应记录,并且某几个字段为空,则可认定为缺少了附加日志


Problem replicating GGS1.HISCUSTMER to GGS2.HISCUSTMER
Error  occurred with delete record (target format)...
*
CUST_CODE =  
            
*
注意:添加表的附加日志是即时生效,如extract已经将数据抽入队列,则重新添加附加日志后进行重新初始化,旧的队列数据不能被继续使用

回复 只看该作者 道具 举报

3#
发表于 2013-11-28 18:15:34
非常有价值的帖子!!

回复 只看该作者 道具 举报

4#
发表于 2013-12-16 13:47:48
分析很详细,1403错误是ogg使用过程中遇到最多的导致ogg abend的错误

回复 只看该作者 道具 举报

5#
发表于 2013-12-17 20:03:23
OGG搞的不多,很多内容搞不明白

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-21 10:02 , Processed in 0.465017 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569