記一次Oracle RAC for aix 儲存雙控鎖盤導致ASM控制檔案損壞恢復
故障場景:AIX IBM儲存更換儲存控制器電源模組導致儲存雙控同時掉電,儲存雙控恢復供電後發生鎖盤,IBM解盤後
RAC資料庫無法正常啟動,啟動報錯:ORA-00600: internal error code, arguments: [2131], [33], [32], [], [], [], [], [], [], [], [], []
恢復方案確定:由於損壞的資料庫資料量巨大,有30T之多,並且要求儘快開啟資料庫,可以接受丟失部分資料,
資料庫有備份。商議之下,使用備份控制檔案恢復資料庫,進行資料庫的不一致性恢復。
恢復過程:
1、從磁帶庫拉取控制檔案備份集並恢復到Oracle RAC資料庫ASM儲存中
--此時嘗試啟動資料庫會遇到報錯資訊:
ORA-00600: internal error code, arguments: [3020], [718], [2828551], [3014338823], [], [], [], [], [], [], [], []
ORA-10567: Redo is inconsistent with data block (file# 718, block# 2828551, file offset is unknown bytes)
2、生成Oracle的pfile並加入如下三個引數
_allow_resetlogs_corruption=true #跳過redo崩潰,允許resetlogs開庫
undo_management=manual #將undo管理修改為手工管理
event="10513 trace name context forever,level 2" #開10513事件跳過一致性驗證
*.cluster_database=false
--此時,嘗試啟動資料庫會遇到報錯資訊:
ORA-00600: internal error code, arguments: [2662], [3735], [1979553782], [3735], [1979584838], [20971664], [], [], [], [], [], []
3、Oracle資料庫使用備份控制檔案恢復資料庫後,需要推進控制檔案的SCN
資料庫當前的SCN= 3735.1979584838=(3735*4294967296)+1979584838=16043682435398
giga=16043682435398/1024/1024/1024=14941.843=14941
需要推進的新SCN=14942*1024*1024*1024=16043850334208
Oracle資料庫10g控制檔案推進可以在pfile中加入引數:_minimum_giga_scn;
ORACLE 11.2.0.4 SCN推進方法oradebug
本次資料庫控制檔案SCN推進步驟步驟
SQL> oradebug setmypid
Statement processed.
SQL> oradebug dumpvar sga kcsgscn_
kcslf kcsgscn_ [700000000019B70, 700000000019BA0) = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 07000000 00019850
SQL> oradebug poke 0x700000000019B70 8 16043850334208
BEFORE: [700000000019B70, 700000000019B78) = 00000000 00000000
AFTER: [700000000019B70, 700000000019B78) = 00000E97 80000000
SQL> oradebug dumpvar sga kcsgscn_
kcslf kcsgscn_ [700000000019B70, 700000000019BA0) = 00000E97 80000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 07000000 00019850
SQL>
--此時嘗試啟動資料庫會遇到報錯資訊:
ORA-00600: internal error code, arguments: [4193], [], [], [], [], [], [], [], [], [], [], []
接下來ORA600[4193]的處理就是ORACLE rac的undo表空間的重建了,需要配合引數:undo_management 和_CORRUPTED_ROLLBACK_SEGMENTS。
4、處理完ORA600[4193]後,資料庫能夠啟動並開啟到open狀態,此時最好進行全庫備份,如果條件允許,
就重建資料庫以邏輯的方式匯出故障資料庫導新環境。否則,後續的使用中會時不時遇到如下報錯資訊:
ORA600[6122]和ORA600[KDSGRP1],實質檔案是索引邏輯壞塊引起的,以drop和create重建相關的索引即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2643072/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一次控制檔案損壞的恢復
- 損壞控制檔案的恢復方法
- 一次控制檔案損壞後的恢復經歷
- 磁碟損壞導致資料檔案丟失的恢復
- RAC 11G ASM磁碟損壞恢復ASM
- 恢復之單個控制檔案損壞
- 單個控制檔案損壞的恢復
- 記錄一次 HotPE 導致的檔案系統損壞及修復
- Oracle asm磁碟損壞異常恢復OracleASM
- u盤檔案損壞怎麼恢復資料 u盤恢復損壞資料的有效方法
- 【儲存資料恢復】IBM儲存檔案NTFS系統損壞的資料恢復案例資料恢復IBM
- 【恢復】使用控制檔案的trace備份恢復因異常斷電導致所有控制檔案損壞的資料庫故障資料庫
- 某個控制檔案損壞的恢復案例
- 資料庫檔案壞塊損壞導致開啟時報錯的恢復方法資料庫
- 備份&恢復之十三:損壞全部控制檔案
- 所有控制檔案損壞的恢復--resetlogs方式
- 所有控制檔案損壞的恢復--noresetlogs方式
- 一次日誌檔案損壞的恢復
- 備份與恢復--重建控制檔案後資料檔案損壞的恢復
- u盤檔案損壞怎麼恢復資料 u盤損壞無法讀取怎麼恢復資料
- oracle控制檔案的損壞或完全丟失的恢復辦法Oracle
- 控制檔案損壞恢復(20100402)
- 備份&恢復之十二:損壞單個控制檔案
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- Oracle不同檔案丟失/損壞的恢復方法Oracle
- SQL Server ldf 檔案損壞恢復SQLServer
- Oracle升級導致ocr檔案損壞一例Oracle
- 記一次儲存問題導致的rac故障案例
- Oracle資料檔案損壞恢復例項二則Oracle
- 電腦進水導致硬碟損壞資料恢復硬碟資料恢復
- 線上日誌檔案損壞恢復方法
- Oracle 控制檔案損壞解決方案Oracle
- 一次意外斷電導致mysql檔案損壞,啟動異常MySql
- oracle 11g rac 共享儲存壞掉後資料庫恢復Oracle資料庫
- 【BBED】 SYSTEM檔案頭損壞的恢復(4)
- 資料檔案丟失損壞的恢復--
- system表空間檔案損壞----完全恢復
- REDO檔案丟失或者損壞的恢復