RMAN Data Recovery Advisor 是11GR2的新功能在遇到錯誤時能快速檢測並自動收集故障資訊與修復故障,不過其操作都是由DBA控制之下去進行。
不過這DRA 系統還並不是很完善,再DB遇到重大性災難時,它並不能做到完整的恢復,還是必須由DBA 去判斷解決災難,不過也是啦發生重大災難時還是由DBA一一去確認發生原因與狀況也是比較好的。
它也有所謂的驗證VALIDATE的功能.....等等一一來做實驗
狀況1:datafile檔案遺失
1.使用指令查詢DRA發現到的問題
DRA會因嚴重程度來替我們排解決錯誤優先順序,這邊看到有兩個錯誤在priority欄位有一個是critical另外一個是high,DRA很直接的跟你說datafile is missing ,這時候DBA心中大概有了基本還原的步驟,等等來看看是不是跟DRA所判斷的一致呢
2.接著讓DRA分析一下狀況
分析完後可以看到很多的datafile 都出現遺失,並且提出解決方案 restore it ,它最後也有產出一個還原的腳本。
3.先看一下腳本內容
DRA提出的方案是 restore database
4.接受DRA 提出的方案並執行它(它會執行DRA最後一次產出的腳本),repair failure 命令會提示是否修復,這裡我們使用noprompt跳過驗證
DRA已經解決DB問題並OPEN 它,但DRA 並不是萬能的,也會有碰到鐵板的時候我們再來繼續實驗它限制的地方
1.open db 時發現controlfile 遺失
2.使用指令查詢DRA發現到的問題
3.讓DRA分析錯誤並產生還原腳本2.接著讓DRA分析一下狀況
分析完後可以看到很多的datafile 都出現遺失,並且提出解決方案 restore it ,它最後也有產出一個還原的腳本。
3.先看一下腳本內容
DRA提出的方案是 restore database
4.接受DRA 提出的方案並執行它(它會執行DRA最後一次產出的腳本),repair failure 命令會提示是否修復,這裡我們使用noprompt跳過驗證
DRA已經解決DB問題並OPEN 它,但DRA 並不是萬能的,也會有碰到鐵板的時候我們再來繼續實驗它限制的地方
演練2: controlfile與datafile遺失
1.open db 時發現controlfile 遺失
2.使用指令查詢DRA發現到的問題
這時DRA 卻沒有產生執行檔案,也許這災難已經超出了DRA所能處理的範圍了,不過按照上面的報告也提示的蠻清楚了,controlfule is missing 、sysdatafile need recovery 和其他datafile need recovery
4.接下來就DBA自己去操作還原 ,restore controlfile 、restore database 、recover database 和 open resetlogs
還原成功並opon
除此之外 DRA 可以通過一些指令來對重要的DB做預防性檢查(可再DB離峰時執行)
Rman> VALIDATE DATABASE; 此命令用來對整個DB及其controlfile 與 spfile 做狀況檢查,假如偵測到錯誤或有壞掉的block也會一併計入在ADR中
VALIDATE 命令只檢查物理損壞,也可透過CHECK LOGICAL 檢查邏輯損壞
DRA相關的視圖
查詢動態數據字典視圖:
(1) V$IR_FAILURE:所有故障的列表,包括已關閉的故障(LIST FAILURE 命令的結果)
(2) V$IR_MANUAL_CHECKLIST:手動建議的列表(ADVISE FAILURE命令的結果)
(3) V$IR_REPAIR:修復列表(ADVISE FAILURE 命令的結果)
(4) V$IR_FAILURE_SET:故障和建議標識符的交叉引用
驗證 VALIDATE
# Check for physical corruption of alldatabase files.
VALIDATE DATABASE;
# Check for physical and logical corruptionof a tablespace.
VALIDATE CHECK LOGICAL TABLESPACE USERS;
# Check for physical and logical corruptionof a datafile.
VALIDATE CHECK LOGICAL DATAFILE 4;
# Check for physical corruption of allarchived redo logs files.
VALIDATE ARCHIVELOG ALL;
# Check for physical and logical corruptionof the controlfile.
VALIDATE CHECK LOGICAL CURRENT CONTROLFILE;
VALIDATE CHECK LOGICAL BACKUPSET 3;
# Check for physical corruption of files tobe backed up.
BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
# Check for physical and logical corruptionof files to be backed up.
BACKUP VALIDATE CHECK LOGICAL DATABASEARCHIVELOG ALL;
# Check for physical corruption of files tobe restored.
RESTORE VALIDATE DATABASE;
# Check for physical and logical corruptionof files to be restored.
RESTORE VALIDATE CHECK LOGICAL DATABASE;
沒有留言:
張貼留言