OGG主從表結構不同步,出現OGG-01296錯誤


一、Cause

ogg的err日志出現以下報錯

2019-09-10 16:36:55  WARNING OGG-01003  Oracle GoldenGate Delivery for Oracle, repwh2.prm:  Repositioning to rba 1720271212 in seqno 1521.
2019-09-10 16:36:55  ERROR   OGG-01296  Oracle GoldenGate Delivery for Oracle, repwh2.prm:  Error mapping from UPCENTER.FUND_BOND_INVEST_PORT_NEW to UPCENTER.FUND_BOND_INVEST_PORT_NEW.
2019-09-10 16:36:55  ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, repwh2.prm:  PROCESS ABENDING.

ogg里面查看進程報錯如下:

GGSCI (ogg2) 2> view param repwh2
#### 省略部分內容 ####
2019-09-10 16:14:43  WARNING OGG-01004  Aborted grouped transaction on 'UPCENTER.FUND_BOND_INVEST_PORT_NEW', Database error 1403 (OCI Error ORA-01403: no data found, SQL <UPDATE "UPCENTER"."FUND_BOND_INVEST_PORT_NEW" SET "ISVALID" = :a0,"UPDATETIME" = :a1 WHERE "FUND_ID
" = :b0 AND "END_DATE" = :b1 AND "IF_CONV_PAR" = :b2 AND "BOND_CODE" = :b3 AND "BOND_NAME" = :b4>).

2019-09-10 16:14:43  WARNING OGG-01003  Repositioning to rba 1720271212 in seqno 1521.

2019-09-10 16:14:43  WARNING OGG-01154  SQL error 1403 mapping UPCENTER.FUND_BOND_INVEST_PORT_NEW to UPCENTER.FUND_BOND_INVEST_PORT_NEW OCI Error ORA-01403: no data found, SQL <UPDATE "UPCENTER"."FUND_BOND_INVEST_PORT_NEW" SET "ISVALID" = :a0,"UPDATETIME" = :a1 WHERE "F
UND_ID" = :b0 AND "END_DATE" = :b1 AND "IF_CONV_PAR" = :b2 AND "BOND_CODE" = :b3 AND "BOND_NAME" = :b4>.

由於表沒有添加主鍵或修改主鍵或者沒有添加補充日志或者導入大量clob字段等等原因,在ogg日志里看到有表同步報錯,此時需要在ogg源端里過濾不同步的表,然后解決掉問題或者手工同步表到目標端,再在目標端里取消過濾

二、解決辦法

以下步驟中停止啟動ogg進程不是必須步驟,請根據實際業務情況來

2.1先停止主和從的ogg進程

stop repwh2

2.2過濾不同步的表

GGSCI (ogg2) 2> edit params repwh2
replicat repwh2
ASSUMETARGETDEFS
dynamicresolution
ALLOWNOOPUPDATES
userid ggs,password mEkxcl9DN
discardfile /u01/gglog/repwh_discard.txt,append,megabytes 500
DDL INCLUDE ALL
DDLERROR DEFAULT IGNORE RETRYOP
TABLEEXCLUDE UPCENTER.HK_SSTEN_DEAL1
TABLEEXCLUDE UPCENTER.STK_INDU_NAME_TEMP    #過濾不同步的表,重啟進程
map upcenter.*,target upcenter.*;
GGSCI (ogg2) 2> start repwh2

2.3將主庫的數據導入到從庫

源端導出

expdp 用戶名/密碼 dumpfile=FUND_RETRUN_RANK.dump tables=FUND_RETRUN_RANK logfile=FUND_RETRUN_RANK.log directory=tong PARALLEL=8

目標端導入

impdp 用戶名/密碼 tables=FUND_RETRUN_RANK dumpfile=FUND_RETRUN_RANK.dump directory=tong logfile=FUND_RETRUN_RANK.log TABLE_EXISTS_ACTION=REPLACE

2.4在從庫OGG進程放行過濾的表

GGSCI (ogg2) 2> edit params repwh2
replicat repwh2
ASSUMETARGETDEFS
dynamicresolution
ALLOWNOOPUPDATES
userid ggs,password mEkxcl9DN
discardfile /u01/gglog/repwh_discard.txt,append,megabytes 500
DDL INCLUDE ALL
DDLERROR DEFAULT IGNORE RETRYOP
TABLEEXCLUDE UPCENTER.HK_SSTEN_DEAL1
TABLEEXCLUDE UPCENTER.STK_INDU_NAME_TEMP    #將這行去掉
map upcenter.*,target upcenter.*;

2.5啟動主和從的ogg進程

GGSCI (ogg2) 2> start repwh2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM