Oracle数据库索引失效,引起GoldenGate异常
今天客戶的GoldenGate出問題了,打電話過來咨詢,根據客戶描述的問題現象和日志的分析,初步判斷是數據庫索引異常引起的故障,以下是問題的分析和處理描述。
????問題描述:
??2010-02-01 17:19:28??GGS ERROR????103??Discard file (./dirrpt/repsz.dsc) exceeded max bytes (10000000).
2010-02-01 17:19:28??GGS ERROR????190??PROCESS ABENDING.
???Discard文件摘錄:
????ORA-01502: index a.IDX_SB_SBXX_SSSQ_QZ' or partition of such index is in unusable state, SQL <UPDATE "a"."DJ_YZCWSBQC_CWBB" SET "NSRDZDAH" = :a21,"ND" = :a22,"YF" = :a23,"SSSQ_Q" = :a24,"SSSQ_Z" = :a25,"CWBBZL_DM" = :a26,"SBQX" = :a27,"YQSBQX" = :a28,"SBRQ" = :a29,"SBFS_DM" = :a30,"HY_DM">
Operation failed at seqno 1816 rba 153098124
Discarding record on action DISCARD on error 1502
Problem replicating CTAIS2.SB_SBXX to CTAIS2.SB_SBXX
Error (1502) occurred with insert record (target format)...
*
????問題分析:
????看到錯誤描述,又是一個discard文件寫滿進程abend的問題,這回是什么原因引起大量的寫discard的操作的呢?通過分析discard文件發現大量的如下錯誤信息:or partition of such index is in unusable state。
看來是數據庫的索引出現故障了,拿我們就先從處理數據庫故障開始。
?
????問題處理:
????1、參考Oracle官方給出的處理這個ora類型錯誤的建議:
ORA-01502: index 'string.string' or partition of such index is in unusable state
Cause: An attempt has been made to access an index or index partition that has been marked unusable by a direct load or by a DDL operation
Action: DROP the specified index, or REBUILD the specified index, or REBUILD the unusable index partition
????2、我們重建了這個有問題的索引
????3、清空已經寫滿信息的discard文件
????4、重新啟動rep進程,故障排除。
總結
以上是生活随笔為你收集整理的Oracle数据库索引失效,引起GoldenGate异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GoldenGate故障处理-表空间不足
- 下一篇: linux cmake编译源码,linu