goldengate 故障及解決方法彙總
摘自http://blog.csdn.net/amethystqi/article/details/6597861
1.資料庫thread與sid不對應
問題描述:
GGS ERROR 500 抽取程式extu1起不來,提示找不到thread2的歸檔(沒有保留哪天具體的報錯資訊) |
問題分析:
rac資料庫曾經刪除又重建一個節點,故thread2對應的例項已經沒有了,更沒有它的歸檔了(之前是將該例項刪除前的歸檔日誌來騙過gg,但是後來這種方式不管用了)
問題處理:
在extu1的引數檔案中跳過資料庫thread2的同步:
1).找出資料庫thread2對應gg的thread號
select distinct(thread#) from V$log;
info extract extu1,showch
2).跳過該thread : THREADOPTIONS PROCESSTHREADS EXCEPT 3
2.表結構或資料不一致
問題描述:
2011-07-08 20:42:12 GGS ERROR 218 Error mapping from user.TMQAPR to user.TMQAPR. |
問題分析:
出現該問題一般都是由於同步的源和目標表結構不一致,包括表欄位和索引。
除表結構外,資料的不一致也可能導致mapping 錯誤,如原庫要delete或update時,gg庫找不到該條資料等,具體原因見report中的錯誤號:
2011-07-18 09:29:46 GGS WARNING 218 SQL error 1403 mapping ITM.SALES_CARD to ITM.SALES_CARD. 2011-07-18 09:29:46 GGS ERROR 218 Error mapping from ITM.SALES_CARD to ITM.SALES_CARD.. |
$ oerr ora 1403
01403, 00000, "no data found"
// *Cause:
// *Action:
問題處理:
1).如果是表欄位不一致,需要修改表欄位,異構資料庫還需要重新生成表結構定義檔案,再重啟程式。
2). 如果是索引不一致,需要重建索引,異構資料庫還需要重新生成表結構定義檔案,再重啟程式。(之前沒有關注索引是否一樣,以後關注一下索引)
3). 遇到這種情況,不能先去對比兩端的表結構(可能修改表結構的sql在後面執行),而應該先去查明原因。若是資料問題,可以跳過該表的同步,然後重新同步該表。
3.discard file寫滿了
問題描述:
REPU1 report中報錯,discard 超出了限制大小(具體的報錯資訊沒記下,如果找到了,再補充). |
問題分析:
因為某些原因,導致gg一直寫discard,超過引數檔案中限定的大小,就會報錯。解決了不斷discard的問題,就能解決discard檔案寫滿的問題。
問題處理:
1).修改repu1的引數檔案,增大discard檔案限制:discardfile /goldengate/dirrpt/repu1.dsc,append,megabytes 2000m(可選) 。
2).檢視discard檔案/goldengate/dirrpt/repu1.dsc ,檢視裡面的報錯資訊,undo不足,我是在做大表的delete,增加了undo表空間,再start repu1。
--下面是網上的一些報錯和解決,摘錄如下。其中一些也遇到過,但是因為錯誤提示很清楚,也容易解決,並沒有單獨去總結。
4.使用者不存在
問題描述:
2010-05-02 10:45:20 GGS ERROR 2001 Oracle GoldenGate Delivery for Oracle, rcrmheal.prm: Fatal error executing DDL replication: error [Error code [1918], ORA-01918: user 'KINGSTAR' does not exist, SQL /* GOLDENGATE_DDL_REPLICATION */ alter user kingstar account unlock ], no error handler present. |
問題分析:
根據分析日誌可以確定是目標端不存在該使用者導致的故障。
問題處理:
方法1、如果不需要同步該使用者,可以在目標端去掉掉對映該使用者,再重啟程式。
例如去掉:MAP KINGSTAR.*, TARGET CRMKINGSTAR.*;
方法2、在目標端手工建立該使用者,再重啟程式。
5.表不存在
問題描述:
2010-05-10 15:02:12 GGS ERROR 101 Oracle GoldenGate Delivery for Oracle, rcrmheal.prm: Table CRMOLAP.TB_FT_OFSTK_CLIENT_BY_DAY does not exist in target database. |
問題分析:
根據分析日誌可以確定是目標端不存在該表導致的故障。
問題處理:
方法1、如果不需要同步該表,可以在目標端排除掉該表,再重啟程式。
例如新增:MAPEXCLUDE OLAP.TB_FT_OFSTK_CLIENT_BY_DAY
方法2、在目標端手工建立該表, 異構資料庫還需要重新生成表結構定義檔案,再重啟程式。
6.資料庫索引失效
問題描述
2010-07-05 14:48:32 GGS WARNING 218 Oracle GoldenGate Delivery for Oracle, rapcaxht.prm: SQL error 1502 mapping AXHT.DOCONTRACT to APCAXHT.DOCONTRACT OCI Error ORA-01502: index 'APCAXHT.PK_SID' or partition of such index is in unusable state (status = 1502), SQL |
問題分析:
資料庫索引失效引起的故障。
問題處理:
重建這個有問題的索引,再重啟程式,故障排除。
7.表結構不一致
問題描述:
2010-05-08 14:50:44 GGS ERROR 218 Oracle GoldenGate Delivery for Oracle, rcrmheal.prm: Error mapping from OLAP.TB_FT_OFSTK_BAL_HIS to CRMOLAP.TB_FT_OFSTK_BAL_HIS. |
問題分析:
出現該問題一般都是由於同步的源和目標表結構不一致,包括表欄位和索引。
問題處理:
1、 如果是表欄位不一致,需要修改表欄位,異構資料庫還需要重新生成表結構定義檔案,再重啟程式。
2、 如果是索引不一致,需要重建索引,異構資料庫還需要重新生成表結構定義檔案,再重啟程式。
8.磁碟空間不足
問題描述:
2010-05-07 04:05:31 GGS ERROR 103 Oracle GoldenGate Collector: Unable to write to file "./dirdat/crm/fl003629" (error 28, No space left on device). 2010-05-07 04:05:31 GGS ERROR 190 PROCESS ABENDING. |
問題分析:
根據分析日誌可以確定是磁碟空間不足導致的故障。
問題處理:
劃分足夠的磁碟空間,再重啟程式。
9.TCP/IP故障
問題描述:
2010-06-25 21:06:04 GGS WARNING 150 Oracle GoldenGate Capture for Oracle, BSAIAXEC.prm: TCP/IP error 10060 (由於連線方在一段時間後沒有正確答覆或連線的主機沒有反應,連線嘗試失敗。). |
問題分析:
根據分析日誌可以確定是不能連線到遠端主機,包括ip地址或埠號。
問題處理:
需要打通能夠連線到遠端主機IP和埠,再重啟程式。
10.資料庫不能連線
問題描述:
2010-05-20 18:25:13 GGS ERROR 182 Oracle GoldenGate Delivery for Oracle, rtasaxta.prm: OCI Error during OCIServerAttach (status = 12154-ORA-12154: TNS:could not resolve the connect identifier specified). |
問題分析:
這種故障是資料庫不能連線導致goldengate程式異常。
問題處理:
需要先解決資料庫異常,再重啟程式。
11.表空間不足
問題描述:
2010-02-01 17:19:18 GGS ERROR 103 Discard file (./dirrpt/rep1.dsc) exceeded max bytes (10000000). |
問題分析:
根據錯誤可以看出直接引起GoldenGate程式停止的原因是discard檔案被寫滿了,是什麼原因造成discard檔案被寫滿的呢?從discard檔案中我們看到是發生了ORA-01653: unable to extend 錯誤,看到這裡我相信大家都知道該怎麼處理了吧,我們只要擴充套件這個aaa.TB_LVY_TEMPINVOIC物件所在的表空間的大小即可。
問題處理:
1、找到相關物件儲存的表空間;
例如:select owner,table_name,tablespace_name from dba_tables
2、執行表空間擴充套件
例如:ALTER TABLESPACE tbs_03 ADD DATAFILE 'tbs_f04.dbf' SIZE 100K AUTOEXTEND ON NEXT 10K MAXSIZE 100K;
12.網路傳輸問題
問題描述:
2010-06-29 16:22:28 GGS ERROR 112 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. (Remote file used is /oradataA/ggtrail/b1000008, reply received is Unable to lock file "/oradataA/ggtrail/b1000008" (error 13, Permission denied). Lock currently held by process id (PID) 3674350). |
問題分析:
問題處理:
方法1、手工去KILL掉相應的鎖程式,再重新啟動程式。
方法2、不需理會,大概2小時後會自動釋放該鎖程式。
方法3、goldengate 10.4.0.76 會解決鎖問題。
13.引數變數配置不正確
問題描述:
Did not recognize parameter argument |
問題分析:
程式引數檔案配置不正確。
問題處理:
檢查引數配置檔案,可能是程式名稱與配置檔案不一致或者是引數不正確,重啟程式。
14.捕獲程式不能為表新增補充日誌
問題描述:
2010-07-19 16:20:03 GGS ERROR 2100 Oracle GoldenGate Capture for Oracle, ecrmheal.prm: Could not add TRAN DATA for table, error [ORA-32588: supplemental logging attribute all column exists, SQL ALTER TABLE "AXTECH"."TB_FUND_MATCHING" ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS /* GOLDENGATE_DDL_REPLICATION */], error code [32588], operation [ALTER TABLE "AXTECH"."TB_FUND_MATCHING" ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS /* GOLDENGATE_DDL_REPLICATION */ (size 113)]. |
問題分析:
因為表已經開啟了補充日誌(附加日誌),而對錶做DDL操作時,引數“DDLOPTIONS ADDTRANDATA”會對錶重新開啟補充日誌(附加日子),但如果該表超過32個欄位,並且該表沒有唯一索引時會出現上面的異常;
問題處理:
方法1、去掉引數“DDLOPTIONS ADDTRANDATA”。
方法2、DELETE TRANDATA 使用者.表
方法3、登入資料庫執行: ALTER TABLE AXHT.BMBM2002 DROP SUPPLEMENTAL LOG DATA (ALL) COLUMNS
15.資料庫補充日誌(附加日誌)沒有開啟
問題描述:
2010-10-14 09:25:50 GGS ERROR 190 Oracle GoldenGate Capture for Oracle, ECRMGGS.prm: No minimum supplemental logging is enabled. This may cause extract process to handle key update incorrectly if key column is not in first row piece. 2010-10-14 09:25:50 GGS ERROR 190 Oracle GoldenGate Capture for Oracle, ECRMGGS.prm: PROCESS ABENDING. |
問題分析:
根據分析日誌可以確定是源端oracle補充日誌沒有開啟導致的故障,如果主鍵或唯一索引是組合的(複合的),就需要為表配置supplemental log,否則就不必,也就是說,如果所有表的主鍵是單列的,那根本就不必去理會它是什麼意思,如果更新了主鍵中的部分欄位,那supplemental log的作用就是把該記錄其餘的組成部分的資料也傳輸到目標機,否則目標機就存在不確定性。
問題處理:
登入資料庫,使用命令ALTER DATABASE ADD SUPPLEMENTAL LOG DATA開啟補充日誌。然後重新新增捕獲程式和本地佇列。
16.表補充日誌(附加日誌)沒有開啟
問題描述:
2010-10-14 09:30:49 GGS WARNING Z1-078 Oracle GoldenGate Capture for Oracle, ECRMGGS.prm: No valid default archive log destination directory found for thread 1. 2010-10-14 09:30:50 GGS ERROR 500 Oracle GoldenGate Capture for Oracle, ECRMGGS.prm: Found unsupported in-memory undo record in sequence 2, at RBA 39675920, with SCN 0.554993 (554993) ... Minimum supplemental logging must be enabled to prevent data loss. 2010-10-14 09:30:51 GGS ERROR 190 Oracle GoldenGate Capture for Oracle, ECRMGGS.prm: PROCESS ABENDING. |
問題分析:
根據分析日誌可以確定是源端oracle補充日誌沒有開啟導致的故障。
問題處理:
登入資料庫,使用命令ALTER DATABASE ADD SUPPLEMENTAL LOG DATA開啟補充日誌。
17.DDL複製表沒找到
問題描述:
2010-10-14 13:32:10 GGS ERROR 2008 Oracle GoldenGate Capture for Oracle, ECRMGGS.prm: DDL Replication is enabled but table GGS.GGS_DDL_HIST is not found. Please check DDL installation in the database. 2010-10-14 13:32:10 GGS ERROR 190 Oracle GoldenGate Capture for Oracle, ECRMGGS.prm: PROCESS ABENDING. |
問題分析:
根據分析日誌可以確定是DDL複製操作已經開啟,但沒有找到安裝複製DDL執行指令碼產生的表GGS.GGS_DDL_HIST導致的故障。
問題處理:
因為安裝複製DDL是使用使用者GGDDL,執行指令碼後會在該使用者產生跟蹤goldengate執行的表,所以要實現支援DDL操作,在引數檔案中登入資料庫必須使用GGDLL和對應的密碼登入。例如:USERID GGDDL@CRMDB,PASSWORD GGDDL。
18、長事務處理
(1)檢查長交易的存在
info extxx, showch (檢視抽取程式的檢查點)
檢視長交易的方法
send extract , showtrans [thread n] [count n]
例如:檢視extxa程式中節點1上最長的10個交易
send extract extxa, showtrans thread 1 count 10
。
(2)跳過或接受長交易的方法
send extract
send extract
(3)配置長交易告警
extract extxa
.......
warnlongtrans 12h, checkintervals 10m
每個10分鐘檢查一次長交易,如果有超過12小時的長交易,就向GGSERR.LOG中加入一條告警資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/543979/viewspace-744791/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- GoldenGate實施故障彙總Go
- 普通raid常見故障解和決方案彙總AI
- DVR常見故障原因及解決方法VR
- Oracle故障彙總Oracle
- PHP原始碼包編譯安裝錯誤及解決方法彙總PHP原始碼編譯
- JavaScript 中精度問題及解決思路彙總JavaScript
- 網路交換機常見故障及解決方法
- 常見電腦硬碟故障彙總 常見電腦硬碟故障的解決辦法硬碟
- 寬頻連線錯誤解決方法總彙
- 電腦常見故障排除學習方法彙總
- 金融 App 稽核被拒原因及解決方案彙總APP
- DNS故障的幾種常見原因及解決方法DNS
- 常用解決方案彙總
- GoldenGate表異構的解決方法Go
- Dataguard日常維護及故障解決
- 【彙總】Python語言常見報錯及解決方案!Python
- VNC常用操作及常見問題解決辦法彙總VNC
- 光纖收發器常見故障及對應解決方法
- 開發微信小程式之HTTPS報錯常見問題彙總及解決方法微信小程式HTTP
- 解壓命令unzip常用方法彙總
- zabbix 小問題解決彙總
- Oracle goldengate 11g 錯誤彙總OracleGo
- word未響應解決方案彙總
- 解決DNS解析故障的幾種方法DNS
- 網路卡常見故障及解決辦法
- 電腦藍色畫面程式碼及解決方法彙總 電腦藍色畫面怎麼辦?
- Django常見出錯解決方案彙總Django
- frm-40654問題解決彙總
- 阿里雲常用產品彙總及解釋阿里
- mount命令詳解及常見問題彙總
- Oracle 常用方法彙總Oracle
- ANR原因及解決方法
- Oracle 高可用 goldengate 11g 錯誤彙總OracleGo
- 伺服器常見故障及解決辦法伺服器
- SCO UNIX系統故障特徵、分析及解決(轉)特徵
- NFS故障解決NFS
- ElasticSearch啟動失敗問題彙總和解決方法Elasticsearch
- 【長期更新】【Git】問題彙總 & 分析解決Git