日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

table类型数据提交_OGG数据同步异常问题总结

發(fā)布時(shí)間:2024/10/8 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 table类型数据提交_OGG数据同步异常问题总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
[事件背景]

大家應(yīng)該還記得上次本大濕分享過(guò)一遍文章《OceanBase數(shù)據(jù)同步挖掘日志慢解決方案》該方案引入OracleGoldenGate(以下簡(jiǎn)稱(chēng)OGG)進(jìn)行數(shù)據(jù)同步。完美地解決了因OB挖掘日志慢影響整個(gè)項(xiàng)目割接進(jìn)度問(wèn)題。本以為該事件可以告一段落了,誰(shuí)知在后面的一次OGG數(shù)據(jù)初始化過(guò)程中問(wèn)題頻頻爆發(fā)。本大濕也是一路披荊斬棘,節(jié)節(jié)擊破。下面就帶大家一起體驗(yàn)下叢林探險(xiǎn)的整個(gè)心酸歷程。

[踩坑過(guò)程]

踩坑之前先給大家介紹下業(yè)務(wù)流程:XXX系統(tǒng)XXX張配置表數(shù)據(jù)從Oracle端通過(guò)阿里OMS工具實(shí)時(shí)同步到OB端,其它約XXX張業(yè)務(wù)數(shù)據(jù)表需要通過(guò)阿里OMS工具從OB端實(shí)時(shí)同步到Oracle端。

坑位1:業(yè)務(wù)日志表從ORACLEADG端導(dǎo)出數(shù)據(jù)失敗

某晚因集團(tuán)版本需求生產(chǎn)端變更了表結(jié)構(gòu),因該方案中OGG部署于ADG環(huán)境無(wú)法自動(dòng)同步DDL操作到目標(biāo)端導(dǎo)致OGG同步失敗,需要對(duì)OGG同步中的表進(jìn)行數(shù)據(jù)初始化操作。目標(biāo)庫(kù)到源端ADG庫(kù)創(chuàng)建DBLINK,通過(guò)IMPDP工具參數(shù)network_link方式不落地遷移數(shù)據(jù)。

Impdprating/******** directory=dumpdir network_link=lnk_orayjjf1flashback_scn=16827177429142 cluster=no schemas=ratinginclude=table:"in (select tname from rating.rating430 )"TABLE_EXISTS_ACTION=REPLACE logfile=rating430_imp.log

報(bào)錯(cuò)如下:

Connectedto: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bitProduction

Withthe Partitioning, Real Application Clusters, Automatic StorageManagement, OLAP,

DataMining and Real Application Testing options

FLASHBACKautomatically enabled to preserve database integrity.

Starting"RATING"."SYS_IMPORT_SCHEMA_02": ?rating/********directory=dumpdir network_link=lnk_orayjjf1flashback_scn=16827177429142 cluster=no schemas=ratinginclude=table:"in (select tname from rating.rating430 )"TABLE_EXISTS_ACTION=REPLACE logfile=rating430_imp.log

Estimatein progress using BLOCKS method...

Processingobject type SCHEMA_EXPORT/TABLE/TABLE_DATA

Totalestimation using BLOCKS method: 57.07 GB

Processingobject type SCHEMA_EXPORT/TABLE/PROCACT_INSTANCE

Processingobject type SCHEMA_EXPORT/TABLE/TABLE

.. imported "RATING"."SET_XXX" ? ? ? ? ? ? ? ? ? ? ?328795472 rows

ORA-39014:One or more workers have prematurely exited.

ORA-39029:worker 1 with process name "DW00" prematurely terminated

ORA-31671:Worker process DW00 had an unhandled exception.

ORA-00600:internal error code, arguments: [ORA-00600: internal error code,arguments: [kksgaGetNoAlloc_Int0], [58], [5], [], [], [], [], [], [],[], [], []

],[], [], [], [], [], [], [], [], [], [], []

ORA-02063:preceding line from LNK_ORAYJJF1

ORA-06512:at "SYS.KUPW$WORKER", line 1887

ORA-06512:at line 2

處理方案:

查詢(xún)MOS相關(guān)資料分析為觸發(fā)OracleBug需要更新補(bǔ)丁,考慮到更新補(bǔ)丁時(shí)間較長(zhǎng),并且Oracle11g已不再提供補(bǔ)丁下載服務(wù),因此決定從生產(chǎn)進(jìn)行數(shù)據(jù)初始化操作,問(wèn)題得以解決。

坑位2:OGG數(shù)據(jù)同步初始化完成后,出現(xiàn)抽取進(jìn)程異常終止。

OGG運(yùn)行日志ggserr.og出現(xiàn)如下錯(cuò)誤:

2020-10-28T01:35:46.953BEIST WARNING OGG-01431 ?Oracle GoldenGate Delivery for Oracle,rrating.prm: ?Aborted grouped transaction on RATXXX.SET_XXX, Mappingerror.

2020-10-28T01:35:46.953BEIST WARNING OGG-01003 ?Oracle GoldenGate Delivery for Oracle,rrating.prm: ?Repositioning to rba 63598507 in seqno 27.

2020-10-28T01:35:46.953BEIST WARNING OGG-01151 ?Oracle GoldenGate Delivery for Oracle,rrating.prm: ?Errormapping from RATXXX.SET_XXX to RATXXX.SET_XXX.

2020-10-28T01:35:46.955BEIST ERROR ? OGG-01296 ?Oracle GoldenGate Delivery for Oracle,rrating.prm: ?Errormapping from RATXXX.SET_XXX to RATXXX.SET_XXX.

2020-10-28T01:35:46.955BEIST INFO ? ?OGG-02333 ?Oracle GoldenGate Delivery for Oracle,rrating.prm: ?Reading /oracle_log/ogg/dirdat/rrating/re000000027,current RBA 63,598,507, 0 records, m_file_seqno = 27, m_file_rba =63,598,806.

2020-10-28T01:35:46.955BEIST ERROR ? OGG-01668 ?Oracle GoldenGate Delivery for Oracle,rrating.prm: ?PROCESSABENDING.

處理過(guò)程:

檢查OGG同步表配置信息,Oracle源端對(duì)象結(jié)構(gòu)

檢查OGG同步表配置信息,Oracle目標(biāo)端對(duì)象結(jié)構(gòu)

發(fā)現(xiàn)目標(biāo)端的表NOTNULL非空約束被DISABLE了,將表上的DISABLE非空約束改為ENABLE后,重啟OGG抽取進(jìn)程表同步恢復(fù)正常。

坑位2:OGG同步過(guò)程中長(zhǎng)事務(wù)造成“Lagat Chkpt”延遲。

OGG是基于事務(wù)級(jí)的實(shí)時(shí)復(fù)制工具,也就是說(shuō)OGG只復(fù)制已提交的事務(wù),在遇到事務(wù)的commit或rollback之前,它會(huì)將每個(gè)事務(wù)的操作存儲(chǔ)在稱(chēng)為cache的托管虛擬內(nèi)存池中。內(nèi)存再大也有不夠用的時(shí)候,當(dāng)事務(wù)數(shù)據(jù)超過(guò)一定的閾值或者當(dāng)前空閑內(nèi)存無(wú)法滿足分配請(qǐng)求時(shí),OGG進(jìn)程會(huì)將最少使用的oldbuffer swap 到磁盤(pán)上的dirtmp中

  • 監(jiān)控ggserr.log 中的長(zhǎng)事務(wù)警告,可以通過(guò)配置extract 進(jìn)程參數(shù)warnlongtrans 調(diào)整警告頻率?或者在抽取進(jìn)程中配置參數(shù):??
    ?edit params exta

  • ?warnlongtrans5h,checkintervals 1h ?

    備注:此參數(shù)的含義是每隔1h檢查一下長(zhǎng)交易,如果超過(guò)5h的長(zhǎng)交易就會(huì)記錄在根目錄的ggserr.log中

    2、監(jiān)控?cái)?shù)據(jù)庫(kù)中的長(zhǎng)事務(wù)

    ?---判斷是否有大事務(wù)sqlselecta.sid,
    a.serial#,
    a.user#,
    a.username,
    b.addr,
    b.USED_UBLK,
    b.USED_UREC,
    b.START_TIME,
    b.xidusn,
    b.XIDSLOT,
    ?b.xidsqn
    fromv$transaction b, v$session a
    where /*b.addr in (select a.taddrfrom v$session a where a.sid = '') and*/ b.addr=a.taddr order bystart_time

    3、ggsci提供了如下命令來(lái)處理長(zhǎng)事務(wù)

    Ggsci> sendextract ,showtrans查看正在處理的未提交事務(wù)。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    語(yǔ)法:sendextract , showtrans [thread n] [count n]

    備注:為所要察看的進(jìn)程名,如extsz/extxm/extjx等;Threadn是可選的,表示只查看其中一個(gè)節(jié)點(diǎn)上的未提交交易;Countn也是可選的,表示只顯示n條記錄。

    跳過(guò)事務(wù)(不建議) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    Ggsci>sendextract ,skiptrans ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    語(yǔ)法:SENDEXTRACT ,SKIPTRANS <5.17.27634> THREAD <2> //跳過(guò)交易

    強(qiáng)制認(rèn)為事務(wù)已經(jīng)提交(不建議) ?

    Ggsci>send extract ,forcetrans ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    語(yǔ)法:SENDEXTRACT ,FORCETRANS <5.17.27634> THREAD <1> //強(qiáng)制認(rèn)為該交易已經(jīng)提交 ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    建議所有的事務(wù)提交或回滾操作都在數(shù)據(jù)庫(kù)中進(jìn)行。?

    樣例:檢查OGG同步日志ggserr.log發(fā)現(xiàn)存在長(zhǎng)事務(wù)

    2020-10-30T18:10:08.469BEIST WARNING OGG-01027 ?Oracle GoldenGate Capture for Oracle,erating.prm: ?Long Running Transaction: XID 993.6.69598, Items 1,Extract ERATING, Redo Thread 1, SCN 3918.1906392113 (16829588257841),Redo Seq #631053, Redo RBA 506349584.

    處理過(guò)程:

    在抽取進(jìn)程中添加參數(shù)BR參數(shù):BRBrInterval 1H, BRDir ./dirtmp

    說(shuō)明:將OGG抽取進(jìn)程每次做檢查點(diǎn)時(shí)間有默認(rèn)的4小時(shí)改為1小時(shí),這樣OGG將長(zhǎng)事務(wù)狀態(tài)及時(shí)寫(xiě)入到磁盤(pán),確保抽取進(jìn)程的捕獲性能,減少Lagat Chkpt 延遲。

    [分析總結(jié)]

    基于OracleGoldenGate部署簡(jiǎn)單、運(yùn)維比較方便并且可以靈活地在同類(lèi)和異類(lèi)系統(tǒng)(包括不同版本的OracleDatabase、不同的硬件平臺(tái))之間以及Oracle數(shù)據(jù)庫(kù)和非Oracle數(shù)據(jù)庫(kù)(包括MicrosoftSQL Server、用于開(kāi)放系統(tǒng)和z/OS的IBMDB2、Sybase等等)之間移動(dòng)數(shù)據(jù)。因此被廣泛應(yīng)用在日常運(yùn)維中。今天的OGG故障分享到此結(jié)束,使用能夠幫助大家在日常運(yùn)維OGG的過(guò)程中少走一些彎路。

    總結(jié)

    以上是生活随笔為你收集整理的table类型数据提交_OGG数据同步异常问题总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。