ORACLE FAILURE ADVISE

         oracle數據故障恢復指導 是一種內置的工具,可自動診斷數據故障並報告相應的修復選項。例如,如果數據恢復指導發現存在許多損壞的塊,它會建議還原整個文件,而不是分別修復這些塊。因此,它有助於您執行正確的故障修復。可以手動修復數據故障,也可以請求數據恢復指導爲您執行修復,從而縮短故障恢復的時間。

1、LIST FAILURE

        該命令可列出故障。如果目標實例使用恢復目錄,它可以處於STARTED 模式下,否則必須處於MOUNTED 模式下。LIST FAILURE 命令不啓動診斷新故障檢查;它將列出先前執行的評估結果。重複執行LIST FAILURE 命令將重新驗證所有現有的故障。

如果數據庫診斷出新的故障(在命令執行之間),則會顯示這些新故障。

如果用戶手動修復故障或臨時故障消失,則數據恢復指導會將這些故障從LIST FAILURE 輸出中刪除。

以下是語法說明:

(1)  failnum:爲其顯示修復選項的故障數。

(2)  ALL:列出所有優先級的故障。

(3)  CRITICAL:列出優先級爲CRITICAL 且處於OPEN 狀態的故障。這些故障使整個數據庫不可用(如控制文件缺失),因此需要立即引起注意。

(4)  HIGH:列出優先級爲HIGH 且處於OPEN狀態的故障。這些故障使數據庫部分不可用或不可恢復,因此應儘快修復(如歸檔重做日誌缺失)。

(5)  LOW:列出優先級爲LOW 且處於OPEN狀態的故障。低優先級的故障可以等到修復了更重要的故障後再進行修復。

(6)  CLOSED:僅列出關閉的故障。

(7)  EXCLUDE FAILURE:從列表中排除指定的故障號。

(8)  DETAIL:通過展開合併的故障列出故障。例如,如果一個文件中有多個塊損壞,則DETAIL選項將列出每個塊損壞。

如:

RMAN> LIST FAILURE;

RMAN> LIST FAILURE DETAIL;

2、ADVISE FAILURE

        該命令對記錄在自動診斷信息庫中的所有故障給出建議。默認時,此命令只列出具有critical或high優先級的那些故障。除了產生所有輸入故障的摘要外,此命令還對每個故障提供一個建議修復選項。通常,advise failure命令同時給出自動和手動修復選項。

        在advise failure命令輸出結束時,RMAN生成一個腳本,列出建議的修復選項的細節。如果你想自己進行修復,可以直接使用這個腳本,或者對它進行修改。仔細閱讀RMAN生成的腳本可幫助你避免耗時的修復工作。此腳本也稱爲手動檢查表(manual checklist),當你可以自己用很小的改動解決故障,而不是用RMAN進行費力的復原和恢復操來作處理問題時,此腳本很有用。例如,可以從一個測試/接收環境方便地恢復一個被刪除了的引用表,不用讓RMAN復原和恢復整個生產數據庫。

在運行了advise failure命令後,可查詢V$IR_MANUAL_CHECKLIST視圖查看手動建議。

        advise failure命令可能只提供手動選項或自動修復選項。當然,你必須自己執行手動活動,而DRA可以執行建議的所有自動修復選項。在可能的情況下,DRA合併一組修復,使得能在單個修復作業中處理多個故障。

         當DRA爲處理故障提出一個自動修復選項時,它總是創建一個修復腳本,給出它修復故障要使用的RMAN命令。  
 

如果喜歡自己控制修復活動,可手動執行此修復腳本(即使提供了自動修復選項),不用讓DRA自動執行它。

修復故障

當RMAN提供了它的故障修復建議後,可以選擇運行repair failure命令處理和關閉特定的故障。如果advise failure命令建議了手動修復,那麼在要求Data Recovery Advisor自動撤銷故障之前,應該首先執行這些修復。report failure命令只能在使用了advise failure命令後執行。

3、REPAIR FAILURE

        該命令應在同一RMAN 會話中的ADVISE FAILURE 命令後使用。默認情況下(沒有選項),該命令使用當前會話中上次執行ADVISE FAILURE 時建議的一個修復選項。如果沒有任何修復選項,REPAIRFAILURE 命令將啓動隱式ADVISE FAILURE 命令。

默認情況下,您需要確認是否執行該命令,因爲可能需要花費時間完成大量更改。在執行修復期間,該命令的輸出將表明正在執行的修復階段。

修復完成後,該命令會關閉故障。 

用途:

(1)  遵循ADVISE FAILURE 命令

(2)  修復指定的故障

(3)  關閉已修復的故障

語法:

REPAIR FAILURE

[PREVIEW]

[NOPROMPT] 

         無法運行多個併發修復會話。但是,允許併發REPAIR … PREVIEW 會話。

(1)  PREVIEW 表示:不執行修復,而是顯示先前生成的包含所有修復操作和註釋的RMAN 腳本。

(2)  NOPROMPT 表示:不要求確認。 

如:

RMAN> REPAIR FAILURE PREVIEW; --只預覽修復過程,不實際執行修復工作

RMAN> REPAIR FAILURE; 

4、CHANGE FAILURE

        該命令只能將故障優先級從HIGH 更改爲LOW 和從LOW 更改爲HIGH。更改CRITICAL 優先級會出現錯誤。(將故障的優先級從HIGH 更改爲LOW 的一個原因是爲了避免該故障顯示在LIST FAILURE 命令的默認輸出列表中。例如,如果塊損壞具有HIGH 優先級,則該塊位於很少使用的表空間中時,您可能希望將其臨時更改爲LOW。)

修復故障後,將隱式關閉打開的故障。但是,也可以顯式關閉故障。這需要重新評估其它所有打開的故障,因爲其中的某些故障會因故障關閉而變得不相關。

默認情況下,該命令要求用戶確認請求的更改。

語法:

CHANGE FAILURE

{ ALL | CRITICAL | HIGH | LOW |failnum[,failnum,…] }

[ EXCLUDE FAILURE failnum[,failnum,…] ]

{ PRIORITY {CRITICAL | HIGH | LOW} |

CLOSE } - 將故障的狀態更改爲已關閉

[ NOPROMPT ] - 不要求用戶進行確認
如:RMAN> CHANGEFAILURE 282 PRIORITY LOW;

5、VALIDATE DATABASE

        該命令用於調用對數據庫及其組件的健康狀況檢查。它擴展了現有的VALIDATE BACKUPSET 命令。在驗證期間檢測到的所有問題都會顯示出來,這些問題進而會啓動故障評估。如果檢測到故障,則該故障會作爲查找結果記錄到ADR中。可以使用LIST FAILURE 命令查看資料檔案庫中記錄的所有故障。

        VALIDATE 命令支持對單個備份集和數據塊進行驗證。在物理損壞中,數據庫根本無法識別塊。在邏輯損壞中,塊的內容在邏輯上不一致。默認情況下,VALIDATE 命令只檢查物理損壞。也可以指定CHECK LOGICAL 檢查邏輯損壞。

        塊損壞可分爲塊間損壞和塊內損壞。在塊內損壞中,塊本身發生損壞,可以是物理損壞也可以是邏輯損壞。在塊間損壞中,塊與塊之間發生的損壞只能是邏輯損壞。VALIDATE 命令只檢查塊內損壞。 

對於非常重要的數據庫,可能需要執行其它預防性檢查(可以在每天的低峯時段執行),調用對數據庫及其組件的預防性健康狀況檢查:

(1)  健康狀況監視器或RMAN VALIDATE DATABASE 命令

(2)  檢查邏輯和物理損壞

(3)  在ADR 中記錄查找結果

發佈了46 篇原創文章 · 獲贊 30 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章