1)解決GoldenGate錯誤的一個關鍵點就是通過錯誤分析工具包括report檔案,ggserr.log discard檔案logdump工具,GGSCI命令列)確定錯誤的根源是哪個組件引起的。
系統或者網路?
資料庫報錯或者應用報錯?
GoldenGate安裝報錯?
GoldenGate的某個進程報錯?
GoldenGate的參數設定檔報錯?
SQL語句或者預存程序報錯?
然後再確定錯誤的原因,逐個排查。
2)當GoldenGate遇到錯誤時,則可以藉助日誌、report檔案找到錯誤原因,一步一步來排查。一般的錯誤資訊GoldenGate都會提示有相應的解決辦法。
如下介紹一個錯誤案例:
通過命令:
樣本14:
GGSCI>view ggsevt
看到的報錯資訊4所示。
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/2155034c5-0.jpg" title="1.jpg" />
圖4
通過view report dpeyb 看到的也是類似的資訊。
再來觀察容災端複製進程的報錯資訊為:
樣本15:
2011-03-02 12:03:37 ERROR OGG-01028 Incompatible record in ./dirdat/yb018262, rba 72955479 getting header)。
通過logdump進入到該trail檔案查看,5所示。
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/2155035048-1.jpg" title="2.jpg" />
圖5
通過分析推敲等,確認是因為trail檔案有一條記錄已損壞,導致投遞進程不識別,不能自動翻滾到下一個trail檔案,而複製進程也不能自動應用到下一個trail檔案,Pump進程通過手動etrollover,複製進程通過alter手動指定到下一個trail檔案應用,故障即可排除。
1、AIX GGSCI無法運行
錯誤資訊:
樣本16:
Cannot load ICU resource bundle 'ggMessage', error code 2 - No such file or directory
Cannot load ICU resource bundle 'ggMessage', error code 2 - No such file or directory
IOT/Abort trap core dumped)
或者GGSCI可以啟動,但是運行任何命令都報上面的錯誤。
處理方法:通常使用已有的mount點安裝GoldenGate,在mount時使用了並發CIO參數。建立檔案系統,重新mount,作為GoldenGate安裝目錄。
錯誤資訊:
樣本17:
$ ./ggsci
exec): 050036 Cannot load program GGSCI because of the following errors:
050130 Symbol resolution failed for GGSCI because:
050136 Symbol _GetCatName__FiPCc number 158) is not exported from dependent module /usr/lib/libC.a[ansi_64.o].
050136 Symbol _Getnumpunct__FPCc number 162) is not exported from dependent module /usr/lib/libC.a[ansi_64.o].
050136 Symbol __ct__Q2_3std8_LocinfoFPCci number 183) is not exported from dependent module /usr/lib/libC.a[ansi_64.o].
050192 Examine .loader section symbols with the 'dump -Tv' command.
原因是XLC是6.0版本,升級XLC版本到10.1以上,問題即可解決。
2、HP-UX GGSCI無法運行
錯誤資訊:core dumped
該問題只在HP-UX11.31上發現。
處理方法:環境變數沒有設定正確。
3、OGG-01296
樣本18:
ERROR OGG-01296 Oracle GoldenGate Delivery for Oracle, yx_rep3.prm: Error mapping from SGPM.A_PAY_FLOW to SGPM.A_PAY_FLOW.
由於源端進行了表結構更改,沒有通知目標端,導致此錯誤。
處理方法:在目標端執行相應的語句,將表結構修改為和源端一致。
4、OGG-01088
錯誤資訊:
樣本19:
ERROR OGG-01088 Oracle GoldenGate Delivery for Oracle, pms_rep1.prm: malloc 2097152 bytes failed.
ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, pms_rep1.prm: PROCESS ABENDING.
處理方法:
1)“ulimit –a”,驗證作業系統對使用者是否所有資源都是無限制。
2)將進程進行拆分,拆分為多個進程。
3)從support.oracle.com下載最新的補丁包,升級GoldenGate。
5、OGG-01224
樣本20:
ERROR OGG-01224 Oracle GoldenGate Manager for Oracle, mgr.prm: No buffer space available
處理方法:
修改mgr.prm,擴大動態連接埠範圍,dynamicportlist 7840-7914。
6、OGG-01031
樣本21:
ERROR OGG-01031 There is a problem in network communication, a remote file problem, encryption keys for target and source do not match if using ENCRYPT) or an unknown error. Reply received is Expected 4 bytes, but got 0 bytes, in trail ./dirdat/t1000026, seqno 26, reading record trailer token at RBA 103637218)。
2011-01-06 11:04:16 ERROR OGG-01668 PROCESS ABENDING.
處理方法:
可能是目標端的trail file出問題了,前滾重建一個新的SEND EXTRACT xxx ROLLOVER,或者“alter extract xxx rollover”。
7、OGG-01072
樣本22:
ERROR OGG-01072 LOBROW_get_next_chunkLOBROW_row_t *, BOOL, BOOL, BOOL, LOBROW_chunk_header_t *, char *, size_t, BOOL, *) Buffer overflow, needed:132, alloc
處理方法:
1)如果版本為11.1.1.0.1 Build 078版本,升級到最新的補丁包。
2)使用“ulimit –a”查看資源使用限制,調整資源為unlimited。
3)Extract: DBOPTIONS LOBBUFSIZE 。
4)replicat: DBOPTIONS LOBWRITESIZE 1MB。
8、OGG-01476
樣本23:
ERROR OGG-01476 The previous run abended due to an out of order transaction. Issue ALTER ETROLLOVER to advance the output trail sequence past the current trail sequence number, then restart. Then, use ALTER EXTSEQNO on the subsequent pump EXTRACT, or REPLICAT, process group to start reading from the new trail file created by ALTER ETROLLOVER; the downstream process will not automatically switch to the new trail file.
在初始化的時候,由於容災端沒有準備就緒,生產端來回進行了很多次的操作,導致生產端抽取混亂,此時在進行RMAN之前,重新啟動抽取,忽略調之前的混亂資訊。
處理方法:“alter extract xxx, etrollover”。
9、OGG-00850
樣本24:
ERROR OGG-00850 Oracle GoldenGate Capture for DB2, extxa.prm: Database instance XP1 has both USEREXIT and LOGRETAIN set to off.
ERROR OGG-01668 Oracle GoldenGate Capture for DB2, extxa.prm: PROCESS ABENDING.
處理方法:
I)如果是DB2 8.1/8.2,必須將USEREXIT和LOGRETAIN設定為ON。
2)如果是DB2 5,已經使用LOGARCHMETH1和LOGARCHMETH2代替以上兩個參數,通常LOGARCHMETH1為DISK,LOGARCHMETH2為TSM,採用這兩個參數開啟歸檔模式。在DB2 5中,USEREXIT可以設定為OFF,但是LOGRETAIN仍需設定為ON。
oracle視頻教程請關注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html