rman備份的策略和croosschek delete基本命令

dotaddjj發表於2011-08-24

使用rman可以對備份集進行管理,在rman配置中儲存的有預設的管理備份集的資訊

Rman target /

Show all

Rman的配置引數為:

Configure retention policy to redundancy 1; #default

Configure controlfile autobackup off;

關於rman的備份集得保留策略有基於redundancy冗餘和基於reocovery window恢復視窗的保留策略。

此時用rman做兩個全備份集

Rman>run{

Allocate channel d1 type disk;

Backup database target=full01_test0822;

}

Rman>rman{

Allocate channel d2 type disk;

Backup database target=full02_test0822;

}

此時完成了一個庫的兩個備份集,如果在mran保留策略中開啟了控制檔案的自動備份,則全庫備份還會促發一次控制檔案的自動備份,

Rman>configure controlfile autibackup on;

配置已經改變

。。

此時目標資料庫的控制檔案的自動備份功能已經開啟。

Rman>configure retention policy to redundancy 2;

rman的冗餘備份的保留備份集策略改為2,此時oracle會保留最新的兩個備份集用於以後的更新,其餘的備份集當做過期備份

過期的備份rman不會刪除只會標記為obsolete廢棄狀態,但是過期的備份不會自動刪除,其狀態依舊是available,可以利用report obsolete檢視

Rman>report obsolete

Report列出過期的備份集,然後用delete obsolete刪除過期備份

Rman>delete obsolete

也可以用delete nopromt obsolete,此時rman不會問是否需要刪除廢棄備份集而直接刪除。

當我們在os上刪除備份集後,rman目錄中依然存在,此時可以使用crosscheck可以找出這這些檔案,rman會自動去os上檢測rman的備份集是否存在,如果沒有oracle就會在rman目錄中將這些備份集標記為expired過期,然後使用delete expired backup刪除過期備份

Rman>crosscheck backup

此時在rman目錄中把os上缺少的資料檔案的備份集標記為expired過期

Rman>delete expired backup

rman目錄中刪除過期備份

對歸檔日誌也可以先crosscheck然後delete

首先查詢os上缺少檔案的歸檔日誌資訊

Rman>crosscheck archivelog all

Rman>delete expired archivelog all

Nocatalog模式下,rman會把備份資訊自動記錄在控制檔案中,oracle9I後可以設定控制檔案自動備份,這樣oracle資料庫在有增加刪除tablespacerman的備份等都會記錄在控制檔案中,然後又會觸發控制檔案的自動備份。

Rman>configure controlfile autobackup on

設定控制檔案自動備份

Rman>backup database

此時全庫的備份先發生,然後把全庫備份的資訊儲存在控制檔案中,然後控制檔案又會自動備份,記住備份發生在控制檔案自動備份之前。

Sql >alter session set events ‘immeidiate trace name contolf level 8;

前面blog中記載了幾個scn的記載,當中我們轉儲控制檔案來檢視具體的控制檔案的資訊,有資料檔案的檢查點scnstop scn 日誌檔案low scnnext scn,資料檔案和日誌檔案 控制檔案的scn的不一致將導致資料庫無法open

可以透過restore修復重建控制檔案和spfile檔案。

Rman>restore spfile to ‘d:spfile.ora’ from autobackup;

Rman>restore controlfile to ‘d:control.ctl’ from autobackup;

[@more@]

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

相關文章