2014年3月20日 星期四

RMAN Data Recovery Advisor



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 並不是萬能的,也會有碰到鐵板的時候我們再來繼續實驗它限制的地方

演練2: controlfiledatafile遺失

1.open db 時發現controlfile 遺失

2.使用指令查詢DRA發現到的問題

3.讓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;

# Check for physical and logical corruptionof a specific backupset.
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;






沒有留言:

張貼留言