案例背景
4節點Extend RAC,儲存RAID 5校驗異常,修復之後SOLDATA磁碟組無法mount,報錯ORA-15096: lost disk write detected。
mount SOLDATA磁碟組ASM日誌:
檢視ORA-15096的描述,官方提供的action還是比較悲觀的。
KFED讀取4個thread的acd checkpoint分別為:
thread 1(inst_id 2) acdc:
thread 2(inst_id 1) acdc:
thread 3(inst_id 4) acdc:
thread 4(inst_id 3) acdc:
報錯的trace可以看到是在做acd前滾recover的時候出現了異常,其實ORA-15096錯誤的原因就是在前滾過程中,ACD block描述的元資料塊變更與實際元資料塊不一致導致的。
KFED讀取Recover報錯的ACD BLOCK:
KFED讀取Recover報錯的元資料Block:
明白了來龍去脈之後修復方法有兩種:
修改thread 3 acd checkpoint;
修改303號檔案filedir的fscn。
關於作者
李翔宇,雲和恩墨西區交付技術顧問,長期服務移動運營商行業客戶,熟悉Oracle效能最佳化,故障診斷,特殊恢復。
今年的資料技術嘉年華大會上,李翔宇老師將帶來題為《在透過案例深入解析Oracle內部原理》的演講,與大家一起探索CBO和ASM rebalance的一些內部機制,精彩不容錯過!