RMAN其他恢復主題

舊夢依稀發表於2013-11-19
1、只讀表空間的恢復
預設情況下,即使丟失了只讀的資料檔案,RMAN也不會在執行完全資料庫還原操作時還原只讀的資料檔案。要在完全恢復期間還原只讀的資料檔案,就必須在restore命令中使用check readonly引數。
restore database check readonly;
需要注意的是,執行recover tablespace或recover datafile命令時,RMAN的工作情況是不一樣的。使用上述任何一種recover命令時,不管表空間是否為只讀狀態都會執行恢復操作。
2、歸檔重做日誌的還原
在預設位置上還原指定的歸檔重做日誌
restore archivelog all;
restore archivelog from logseq=20 thread=1;
restore archivelog from logseq=20 until logseq=30 thread=1;
在預設位置以外的目錄中還原歸檔重做日誌,必須使用run程式碼塊
run
{
set archivelog destination to "d:\oracle\newarch";
restore archivelog all;
}
需要注意的是,如果RMAN認為一個歸檔重做日誌已經存在,就不會在磁碟上還原,即使設定還原到其他位置也不行。
3、資料檔案副本的還原
可以從資料檔案副本(而不是備份集)中還原資料庫的資料檔案。
restore (datafile 5) from datafilecopy;
recover datafile 5;
sql "alter database datafile 5 online;"
4、恢復損壞的資料塊————塊介質恢復(block media recovery,BMR)
blockrecover datafile 19 block 44;
可以恢復多個資料檔案中的多個資料塊
blockrecover datafile 19 block 44,46,127;
blockrecover datafile 19 block 44 datafile 22 block 203;
可以使用backup validate database命令檢視RMAN在備份和複製期間檢測到的所有資料庫損壞,這條命令會在v$backup_corruption(歷史壞快)和v$database_block_corruption(當前壞快)檢視中填充檢測到的所有壞快。
可以使用以下命令修復v$database_block_corruption檢視中記錄的壞快:
blockrecover corruption list restore until time 'sysdate - 5';
可以使用nofileupdate測試執行:
blockrecover corruption list restore until time 'sysdate - 5' nofileupdate;
在以上命令中還能使用until SCN和until sequence關鍵字。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28998293/viewspace-776978/,如需轉載,請註明出處,否則將追究法律責任。

相關文章