您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么恢復Oracle RAC for aix存儲雙控鎖盤導致ASM控制文件損壞”,在日常操作中,相信很多人在怎么恢復Oracle RAC for aix存儲雙控鎖盤導致ASM控制文件損壞問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么恢復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重建相關的索引即可。
到此,關于“怎么恢復Oracle RAC for aix存儲雙控鎖盤導致ASM控制文件損壞”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。