關於備份和恢復的10 個最佳實踐 (Doc ID 1549189.1)

rongshiyuan發表於2014-04-09
關於備份和恢復的10 個最佳實踐 (Doc ID 1549189.1)

文件內容

用途
  關於備份和恢復的 10 個最佳實踐。
問題和答案
參考

適用於:

Oracle Database - Enterprise Edition - 版本 9.2.0.1 到 11.2.0.3 [發行版 9.2 到 11.2]
本文件所含資訊適用於所有平臺

用途

關於備份和恢復的 10 個最佳實踐。


本文件假設您正在執行基本的備份和恢復
- 在 Archivelog 模式下執行
- 多路映象控制檔案
- 定期執行備份
- 週期性執行全庫恢復測試

問題和答案

1. 開啟塊檢查。

這樣做的目標是儘早發現資料庫中的壞塊。這隻會佔用很少的效能開銷,但卻可以讓 Oracle 儘早檢測出由底層磁碟、儲存系統、或 I/O 系統問題導致的壞塊。

SQL> alter system set db_block_checking = true scope=both;



2. 使用 RMAN 增量備份時開啟塊更改跟蹤(Block Change Tracking)功能(10g 及更高版本)。

更改跟蹤檔案包含了可以使  RMAN 增量備份程式避免讀取自上次備份以來未修改的資料所需要的資訊。如果不使用塊更改跟蹤功能,則必須讀取所有塊來確定自上次備份以來是否對其進行了修改。


SQL> alter database enable block change tracking using file '/u01/oradata/ora1/change_tracking.f';


3. 映象 重做日誌組和成員,並將歸檔日誌存放在多個目標位置。

通過在多個位置存放多個副本,當某個歸檔日誌損壞或丟失時,其他日誌仍然存在並可以使用。

如果某個線上日誌被刪除或損壞,在需要時還可以使用其他成員進行恢復。

SQL> alter system set log_archive_dest_2='location=/new/location/archive2' scope=both;
SQL> alter database add logfile member '/new/location/redo21.log' to group 1;


4. 使用 RMAN 備份資料庫時使用 CHECK LOGICAL 選項。

這可以使 RMAN 對資料塊除了進行常規的校驗和驗證之外,還檢查塊內的邏輯損壞。這是確保您獲得完好備份的最佳方法。

RMAN> backup check logical database plus archivelog delete input;



5. 測試備份。

這將執行除實際回覆(restore)資料庫之外的所有操作。要確定在出現問題(此時備份非常重要)之前備份是否完好以及可用,這是最好的辦法。

如果使用 RMAN,可以使用以下命令執行此操作:

RMAN> restore validate database;



6. 使用 RMAN 時,將每個資料檔案存放在單獨的備份片(backup piece)中。

執行部分恢復時,RMAN 必須讀取完整的備份片以獲取需要的資料檔案/歸檔日誌。因此,備份片越小,恢復完成的速度越快。這尤其適用於對大型資料庫進行的磁帶備份或僅對單個/少數幾個檔案進行的恢復。

然而,如果 filesperset 的值很小,也會導致建立更多的備份片,因而會降低備份效能並增加維護操作時間。因此必須根據所需的恢復時間要求對這些因素加以權衡。

RMAN> backup database filesperset 1 plus archivelog delete input;



7. 維護 RMAN 目錄(catalog)/控制檔案

認真選擇保留策略(retention policy)。確保它可以滿足磁帶保留策略以及備份恢復策略的要求。如果未使用目錄,確保 CONTROL_FILE_RECORD_KEEP_TIME 引數與保留策略匹配。

SQL> alter system set control_file_record_keep_time=21 scope=both;

這會將備份記錄在控制檔案中保留 21 天。

請參閱以下文件瞭解更多詳細資訊:
   Note 461125.1 How to ensure that backup metadata is retained in the controlfile when setting a retention policy and an RMAN catalog is NOTused.

定期執行以下目錄維護命令。
原因:Delete obsolete 將刪除保留策略以外的備份。
如果過期的備份未刪除,則目錄將不斷增長,直至出現效能問題。

RMAN> delete obsolete;


原因:crosschecking 將檢查目錄/控制檔案是否與物理備份匹配。
如果某個備份丟失,此命令會將該備份片 設為“EXPIRED”,在開始恢復時,將不使用這個備份,而使用更早的備份。要刪除目錄/控制檔案中已過期的備份,請使用 delete expired 命令。

RMAN> crosscheck backup;
RMAN> delete expired backup;



8. 為控制檔案丟失做準備。

這將確保您始終能夠擁有最新的控制檔案,控制檔案備份在當前備份結束時執行,而不是在備份期間。

RMAN> configure controlfile autobackup on;


保留備份日誌
原因:備份日誌包含了磁帶存取的引數、控制檔案備份的位置,如果所有檔案都丟失了,則可以利用該日誌。

9. 測試恢復

原因:在需要執行恢復的時候,您可以不實際執行恢復就知道恢復流程是如何操作的,並可避免再次回覆資料檔案。

SQL> recover database test;



10. 使用RMAN 備份時,在備份歸檔日誌時不要指定“delete all input”
原因:“delete all input”在備份一個歸檔目錄下的歸檔日誌後,會刪除該歸檔日誌在不同歸檔目錄下的所有副本,而“delete input”在備份一個歸檔目錄下的歸檔日誌後,僅刪除該目錄下的歸檔日誌,下一次備份將備份歸檔目錄 2 下的日誌以及歸檔目錄 1 的新日誌,然後刪除所有備份過的日誌。這意味著您將保留自最後一次備份以來在歸檔目錄2 下可用的歸檔日誌(包括曾備份的日誌)以及上次備份之前備份的兩份副本。

請參考 Note 443814.1 Managing multiple archive log destinations with RMAN
來了解更多資訊。

References

NOTE:461125.1 - How to ensure that backup metadata is retained in the controlfile when setting a retention policy and an RMAN catalog is NOTused.
NOTE:443814.1 - Managing multiple archive log destinations with RMAN

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

相關文章