關於備份和恢復的10 個最佳實踐 (Doc ID 1549189.1)
關於備份和恢復的10 個最佳實踐 (Doc ID 1549189.1)
本文件所含資訊適用於所有平臺
3. 映象 重做日誌組和成員,並將歸檔日誌存放在多個目標位置。
通過在多個位置存放多個副本,當某個歸檔日誌損壞或丟失時,其他日誌仍然存在並可以使用。
如果某個線上日誌被刪除或損壞,在需要時還可以使用其他成員進行恢復。
4. 使用 RMAN 備份資料庫時使用 CHECK LOGICAL 選項。
這可以使 RMAN 對資料塊除了進行常規的校驗和驗證之外,還檢查塊內的邏輯損壞。這是確保您獲得完好備份的最佳方法。
5. 測試備份。
這將執行除實際回覆(restore)資料庫之外的所有操作。要確定在出現問題(此時備份非常重要)之前備份是否完好以及可用,這是最好的辦法。
如果使用 RMAN,可以使用以下命令執行此操作:
6. 使用 RMAN 時,將每個資料檔案存放在單獨的備份片(backup piece)中。
執行部分恢復時,RMAN 必須讀取完整的備份片以獲取需要的資料檔案/歸檔日誌。因此,備份片越小,恢復完成的速度越快。這尤其適用於對大型資料庫進行的磁帶備份或僅對單個/少數幾個檔案進行的恢復。
然而,如果 filesperset 的值很小,也會導致建立更多的備份片,因而會降低備份效能並增加維護操作時間。因此必須根據所需的恢復時間要求對這些因素加以權衡。
7. 維護 RMAN 目錄(catalog)/控制檔案
認真選擇保留策略(retention policy)。確保它可以滿足磁帶保留策略以及備份恢復策略的要求。如果未使用目錄,確保 CONTROL_FILE_RECORD_KEEP_TIME 引數與保留策略匹配。
這會將備份記錄在控制檔案中保留 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 將刪除保留策略以外的備份。
如果過期的備份未刪除,則目錄將不斷增長,直至出現效能問題。
原因:crosschecking 將檢查目錄/控制檔案是否與物理備份匹配。
如果某個備份丟失,此命令會將該備份片 設為“EXPIRED”,在開始恢復時,將不使用這個備份,而使用更早的備份。要刪除目錄/控制檔案中已過期的備份,請使用 delete expired 命令。
8. 為控制檔案丟失做準備。
這將確保您始終能夠擁有最新的控制檔案,控制檔案備份在當前備份結束時執行,而不是在備份期間。
保留備份日誌
原因:備份日誌包含了磁帶存取的引數、控制檔案備份的位置,如果所有檔案都丟失了,則可以利用該日誌。
9. 測試恢復
原因:在需要執行恢復的時候,您可以不實際執行恢復就知道恢復流程是如何操作的,並可避免再次回覆資料檔案。
10. 使用RMAN 備份時,在備份歸檔日誌時不要指定“delete all input”
原因:“delete all input”在備份一個歸檔目錄下的歸檔日誌後,會刪除該歸檔日誌在不同歸檔目錄下的所有副本,而“delete input”在備份一個歸檔目錄下的歸檔日誌後,僅刪除該目錄下的歸檔日誌,下一次備份將備份歸檔目錄 2 下的日誌以及歸檔目錄 1 的新日誌,然後刪除所有備份過的日誌。這意味著您將保留自最後一次備份以來在歸檔目錄2 下可用的歸檔日誌(包括曾備份的日誌)以及上次備份之前備份的兩份副本。
請參考 Note 443814.1 Managing multiple archive log destinations with RMAN
來了解更多資訊。
NOTE:443814.1 - Managing multiple archive log destinations with RMAN
文件內容
用途 |
關於備份和恢復的 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;
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;
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於備份和恢復的10 個最佳實踐 (文件 ID 1549189.1)
- 關於備份和恢復的10個最佳實踐
- Kubernetes的備份和恢復最佳實踐是什麼
- 備份恢復原理的實踐
- MSSQL-最佳實踐-資料庫恢復模式與備份的關係SQL資料庫模式
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- Backup And Recovery User's Guide-備份和恢復概覽-備份和恢復介紹-備份和恢復的目的GUIIDE
- OceanBase物理備份恢復實踐
- 【轉】 RMAN備份與恢復實踐
- oracle實驗記錄 (恢復-關於熱備份)Oracle
- 備份和恢復
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- Controlfile備份恢復關於Standby的理解
- windwos server 路由備份和恢復 路由表備份和恢復Server路由
- k8s備份恢復實踐--veleroK8S
- redis 備份和恢復Redis
- 備份和恢復redisRedis
- Mysql備份和恢復MySql
- Oracle 備份和恢復Oracle
- java中實現MYSQL的備份和恢復JavaMySql
- redis備份和恢復的方式Redis
- 關於SQL Server資料庫備份和恢復特性介紹SQLServer資料庫
- Backup And Recovery User's Guide-備份和恢復介紹-Oracle備份和恢復解決方案GUIIDEOracle
- 【備份恢復】無備份線上恢復非關鍵資料檔案
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- Backup And Recovery User's Guide-備份和恢復介紹-備份恢復文件RoadmapGUIIDE
- Backup And Recovery User's Guide-備份和恢復介紹-備份和恢復的目的-資料傳輸GUIIDE
- Backup And Recovery User's Guide-備份和恢復介紹-備份和恢復的目的-資料儲存GUIIDE
- Backup And Recovery User's Guide-備份和恢復介紹-備份和恢復的目的-資料保護GUIIDE
- Oracle 最佳化,備份和恢復技術培訓Oracle
- SqlServer備份和恢復(二)SQLServer
- SqlServer 備份和恢復(一)SQLServer
- 【MySQL】MySQL備份和恢復MySql
- MySQL 備份和恢復 一MySql
- oracle冷備份、恢復和異機恢復Oracle
- 備份與恢復--利用備份的控制檔案恢復
- innobackupex備份恢復實戰
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql