RMAN 常用操作命令二(備份保留策略)

ewelamb發表於2013-11-07

策略有兩種,一種是基於恢復視窗策略的,一種是基於冗餘策略的。

 

基於恢復視窗策略:

定義的是保留的備份檔案必須要能保證恢復到近N天的任意時間點。

 

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;

讓恢復視窗成為14天大小。

 

基於冗餘策略:

定義的是每個檔案至少要保留幾份備份。

 

CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

定義每個檔案至少要保留2份備份,如果有多於2個的備份,則按照時間排序,最晚的2個會被保留下來,其餘的標註為obsolete,可以刪除。

 

SHOW RETENTION POLICY;

檢視保持策略。

 

REPORT OBSOLETE;

檢視過期備份。

 

REPORT OBSOLETE RECOVERY WINDOW OF 28 DAYS;

臨時指定以28天作為恢復視窗的策略,檢視過期備份。

 

REPORT OBSOLETE REDUNDANCY 2;

臨時指定以冗餘度為2為冗餘策略,檢視過期備份。

 

DELETE OBSOLETE;

刪除所有過期備份。

 

DELETE OBSOLETE REDUNDANCY 2;

臨時指定以冗餘度為2的冗餘策略,刪除過期備份。

 

DELETE OBSOLETE RECOVERY WINDOW OF 7 DAYS

臨時指定以7天作為恢復視窗策略,刪除過期備份。

 

CONFIGURE RETENTION POLICY TO NONE;

清空(禁用)保留策略。

 

SQL>SELECT * FROM V$BLOCK_CHANGE_TRACKING;

檢視塊跟蹤日誌的開啟

如果沒有開啟,則需要開啟

SQL>ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;

SQL>ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING '/home/oracle/bct.log';



之前一直對RMAN有誤解,以為設定了過期策略後,就能自動刪除。後來發現一直沒執行自動刪除,還以為是檔案沒滿呢。檢視官方文件解釋:

   You can use the CONFIGURE RETENTION POLICY command to create a  persistent and automatic backup retention policy. When a backup retention 
policy is in effect, RMAN considers backups of datafiles and control files as  obsolete, that is, no longer needed for recovery, according to criteria that 
you specify in the CONFIGURE command. You can then use the REPORT  OBSOLETE command to view obsolete files and DELETE OBSOLETE to delete them.

  說的很明白:RMAN不會自動刪除已經廢棄的備份!而是需要你手動執行如下步驟

   1、report obsolete   列印出過期備份

    2、delete obsolete 刪除過期備份

 官方文件:

 一般來說 想實現自動化使用指令碼定期執行:delete noprompt obsolete;

很容易混淆的另一種操作:crosscheck

     crosscheck是對檔案做校驗,檢查已被刪除的檔案,將它標記成expired。(如果使用上述命令,不會出現這種情況,多出現於手工刪除或檔案被破壞)

例:crosscheck archivelog all;  ---這時找到多個檔案已被刪除

     delete expired archivelog all; ----刪除已失效的歸檔日誌,將其從列表中移走,並釋放空間空間。

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

相關文章