zoukankan      html  css  js  c++  java
  • GoldenGate 1403错误解决方法

    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 人为修改目标端数据
    人为失误修改目标数据也会造成两端数据不一致。

  • 相关阅读:
    explicit for ctors taking more than one argument
    Python 的 encode 和 decode
    Tripwire配置和运行
    man twadmin
    Tripwire策略说明
    Tripwire安装
    [部分翻译] tripwire(8)
    snort-2.9.3.1安装
    [转载] snort中文手册
    wireshark_1.2.11安装
  • 原文地址:https://www.cnblogs.com/l10n/p/7529143.html
Copyright © 2011-2022 走看看