RMAN 備份保留策略的常見問題 (文件 ID 2017258.1)

mosdoc發表於2016-12-14

文件內容


用途

問題和答案
  如何針對磁帶和磁碟,分別設定不同的保留策略?
  在增量備份集中,RMAN 保留策略是如何定義 obsolete 的備份檔案?
  如何做到,對不同的備份,分別使用不同的保留策略?
  為什麼已經超過保留策略的備份,還沒有變成 obsolete 狀態?
  對於增量合併備份(incremental merge backups)的保留策略,有什麼建議?
  可能你會遇到 list backup 或 report/delete obsolete 命令都不能正常顯示 obsolete 的備份片,但是這些備份片卻真實的存在於磁碟。

參考


適用於:

Oracle Database - Enterprise Edition - 版本 9.0.1.4 到 11.2.0.3 [發行版 9.0.1 到 11.2]
本文件所含資訊適用於所有平臺
***Checked for relevance on 18-Nov-2011***


用途

本文彙總了“Rman 備份保留策略”的相關常見問答。

問題和答案

如何針對磁帶和磁碟,分別設定不同的保留策略?

例如,設定磁帶保留時間為14天,而磁碟的保留時間為3天。

步驟 1: 設定保留協議

一般 RMAN 只允許設定一個保留協議,而這個協議設定為14天。
RMAN> configure retention policy to recovery window of 14 days;

步驟 2:將備份從磁碟移動到磁帶,並符合指定的備份保留策略,必須手動執行命令來完成。

下面的命令會將備份從磁碟移動到磁帶,並刪除原磁碟上的備份檔案。

RMAN> backup device type sbt backupset completed before 'sysdate-2' delete input;

備份集移動到磁帶,並從原磁碟刪除,可能會改變原來指定的時間。保留策略會保證備份檔案不被標記為'obsolete',除非我們超過了指定的保留策略。

 

在增量備份集中,RMAN 保留策略是如何定義 obsolete 的備份檔案?

 

RMAN 透過下面的兩個步驟,來報告和刪除 obsolete 的檔案。 

首先,我們會確定最老的並且有效的全備份(如:full 或 level 0 備份集,或 image copy 的備份), 根據設定的保留策略(REDUNDANCY 或者 RECOVERY WINDOW),所有比這個有效的全備份更早的備份檔案,都會被標示成 obsolete 檔案。

然後,全部的歸檔和 level 大於 0 的增量備份,如果比最老的有效全備份日期更久,就會被標示為 obsolete,因為這些檔案對於全庫恢復已經不需要了。

注意:level 大於 0 的增量備份,在 RMAN 保留策略中,可以和 archive log 相同對待,restore 的命令是不會 restore 增量備份的,只有在 recover 的時候,才會讀取增量備份,以減少對 archive 檔案的讀取。我們只能從全備份和 level 0 的增量備份透過restore 命令讀取相應的資料檔案。

 

如何做到,對不同的備份,分別使用不同的保留策略?

 

我們不能對不同型別的備份集,設定不同的保留策略的。保留策略總是對所以備份有效的。

但是我們可以根據實際情況,來實現對不同型別的備份,實行不同的備份保留策略。具體如下:

樣例
========

問題
=========

有三種型別的備份,每日備份,每週備份和每月備份,所以我們可以有3個備份策略,第一個是32天,第二個是365天,最後一個是700天。

答案
=========

對全部的每日備份,維護一個普通的保留策略,如:

Rman > configure retention policy for recovery window of 32 days ;

這個保留策略對全部的備份是生效的,但是因為我們希望能將每週的備份保留為365天,和每月的備份保留為700天。

因此,對於周備和月備,我們設定 KEEP 選項。

當你使用 RMAN 來建立新的備份的時候,可以透過 KEEP 選項避開保留策略,或者使用 CHANGE 命令的 KEEP 選項,將已有的備份排除在保留策略之外。
注意,要保證這些被排除在保留策略之外的備份,也是完全並且有效的備份集合,它們可以在 RMAN 認為需要的時候,可以透過它們來還原資料庫。

有可以使用 CHANGE... KEEP和CHANGE... NOKEEP命令,來改變備份集合是否被排除在保留策略之外。

你可以指定 LOGS 選項,對不完全恢復所需要的歸檔日誌檔案,進行一個長期的儲存。換句話說,KEEP UNTIL TIME... LOGS 要求 RMAN 儲存全部需要的歸檔檔案,只要對應的保留的備份集合沒有被刪除。注意,如果你使用 KEEP UNTIL TIME... 並且是一個不一致的備份,你就必須使用 LOGS 選項,不然如果需要的歸檔日誌被刪除,這個備份集合會變成不可用,事實上,RMAN 是不允許使用 KEEP NOLOGS 選項,做不一致備份的。

我們可以使用 UNTIL 來指定一個備份的有效期,如果不指定,備份將會永久儲存。如果你指定 UNTIL,RMAN 會一直保留這個備份到UNTIL的時間點之後。注意,如果指定 KEEP FOREVER 並且設定 LOGS 選項,RMAN 會保留全部的歸檔日誌,這將會嚴重消耗儲存空間。

樣例:
=========
+ 你可以按照下面的方式,對資料庫進行每週和每月的定期備份:

Rman > BACKUP DATABASE KEEP UNTIL TIME "TO_DATE('31-DEC-2007' 'dd-mon-yyyy')" NOLOGS;

或者

Rman > BACKUP DATABASE KEEP UNTIL TIME 'sysdate +365' NOLOGS;


可以根據每週還是每月備份的需要,來設定 until time 引數。

對於每日的備份,你可以使用,32天的普通保留策略。

 


注意:
-----
11G 之後,引數 KEEP ... -> 'LOGS' 已經不再需要
更多細節,請參考:

.
Oracle? Database Backup and Recovery Reference
11g Release 2 (11.2)
E10643-07
.
  keepOption
.

 

 

為什麼已經超過保留策略的備份,還沒有變成 obsolete 狀態?

 

我們有很多情況,會導致備份集不被變成 obsolete,如:

1) 有一個資料檔案是離線狀態,在離線過程中,全部被需要的歸檔,都會被保留,而不會變成 obsolete 狀態。

2) 如果沒有完整有效的全庫備份,archivelog / 'archivelog backups' / 'incremental backups'不會變成 obsolete 狀態。

3) 使用 KEEP 選項的備份集。

4) 如果不是以上情形,也可能是由於 bug 導致的備份集不變成 obsolete 狀態。

 

對於增量合併備份(incremental merge backups)的保留策略,有什麼建議?

 

對於增量合併備份,請參考下面建議:

+ 使用預設的保留策略 redundancy 1, 增量備份一旦被應用到副本,就會觸發增量備份變成 obsolete 狀態。

+ 如果使用基於 recovery window 的保留策略,不要使用 CONFIGURE 命令,請使用 RECOVER 命令的 UNTIL 條件來替代 CONFIGURE。

樣例
---------
run {
allocate channel oem_disk_backup device type disk;
RECOVER COPY OF DATABASE with tag 'ORA$OEM_LEVEL_0' until time 'sysdate-8';
backup incremental level 1 cumulative copies=1 for recover of copy with tag 'ORA$OEM_LEVEL_0' database;
}

注意
======

如果使用增量合併備份,請確保保留策略設定為  redundancy 1,如果你依舊希望使用 recovery window,透過“N天”來設定備份策略,請確保使用 UNTIL TIME 的條目來實現期望的保留時間,而不是透過 CONFIGURE 來設定。

 

可能你會遇到 list backup 或 report/delete obsolete 命令都不能正常顯示 obsolete 的備份片,但是這些備份片卻真實的存在於磁碟。


存在於控制檔案上的備份資訊,隨著時間的推移,可能會被刪除或覆蓋。
為了防止這個情況的發生,需要確保 control_file_record_keep_time 引數的設定,大於保留策略的時間視窗,或者透過使用 catalog 來避免這個問題。

參考

NOTE:206862.1 - How does the RMAN Retention Policy Obsolete Incremental Backupsets and Archivelog Files
NOTE:351455.1 - Oracle Suggested Strategy & Backup Retention
NOTE:434345.1 - How Do I Set A Retention Policy For Tape Backups And Disk Backups Differently?
NOTE:452529.1 - Recovery catalog for RMAN backup
NOTE:462978.1 - Rman backup retention policy

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

相關文章