rman備份OBSOLETE和EXPIRED引數來歷及區別

bitifi發表於2016-05-09

前言:學習rman的時候也一直混淆OBSOLETE和EXPIRED兩個引數,現在整理兩個引數檔案的區別和來歷。

 

一、obsolete的引數需要跟資料庫的備份策略聯絡

 RETENTION POLICY:設定備份儲存策略,即設定備份檔案保留多長時間。RMAN會將超出時間的備份檔案標識為廢棄(obsolete)。RMAN跟蹤備份的資料檔案、控制檔案、歸檔日誌檔案,並確定哪些需要儲存,哪些需要標記為廢棄,但RMAN不自動刪除廢棄的備份檔案。

透過命令REPORT OBSOLETE顯示當前哪些備份已經過了儲存策略。

透過命令DELETE OBSOLETE刪除廢棄的檔案。

 

備份策略的方式有以下兩種:

1、根據視窗時間設定保留策略

RMAN>CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

說明:我現在的時間是7月7日18:00,如果我設定了上述備份保留策略並進行備份,則系統會保障可以恢復到過去3天的任何時間點。(有網友認為7月4日18:00之前的備份會被標記為obsolete的說法不一定是正確的)

 

系統設定的恢復視窗是3天,但是為了保證可以還原到這三天的任何時間點,所以要保留7月1日18:00的全備,只有7月1日18:00之前的備份會被標識成obsolete;

 

2、根據備份的份數設定保留策略

RMAN>CONFIGURE RETENTION POLICY REDUNDANCY 3;

 說明:進行了上述設定,當完成三次備份後,在做完第四次備份的時候,第一次備份結果將被標識為廢棄。Oracle11G預設的備份保留策略是用該方法設定的,且REDUNDANCY為1。可以使用命令CONFIGURE RETENTION POLICY CLEAR恢復策略為預設值。還可以用命令CONFIGURE RETENTION POLICY TO NONE進行策略設定,此時REPORT OBSOLETE和DELETE OBSOLETE將不把任何備份檔案視為廢棄;備份失效的問題,也參考上面的說明(可以理解為保留3份完整的備份

 

二、expired可以理解成失效(也有翻譯成過時,這樣會容易和上面的過期混淆)

expired官網解釋如下:A backup whose status in the RMAN repository is EXPIRED, which means that the backup was not found. RMAN marks backups and copies as expired when you run a CROSSCHECK command and the files are absent or inaccessible.

其實就是一句話:當直接從作業系統去刪除資料庫的備份檔案的時候,控制檔案還保留著這些備份資訊,當執行CROSSCHECK命令的時候,就會把這些備份標誌成expired。

常用指令碼: 

RMAN> crosscheck backup ;  檢查備份是否有效;

RMAN> Delete Expired backup;  刪除失效的備份;

RMAN> delete expired archivelog all;刪除失效的歸檔備份;

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文作者:JOHN

ORACLE技術部落格:ORACLE 獵人筆記               資料庫技術群:367875324 (請備註ORACLE管理 )  

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

相關文章