RMAN深入解析之--控制文件
? ??控制文件負責數據庫的物理結構,控制文件控制數據庫查找物理文件的位置,并控制每個文件當前包含的頭信息,其內容包含數據文件信息,重做日志信息和歸檔日志信息;控制文件還還有與數據庫關聯的關鍵文件的每一個文件頭的快照(snapshot)。
? ??由于控制文件存儲的是數據文件信息,所以RMAN會利用控制文件獲取備份所需的信息,具體操作方式是:RMAN使用控制文件來編譯文件列表而不需要用戶創建文件列表,并且額在添加一個新文件時不需要更改這個腳本,控制文件會儲存這個新文件的信息,因此RMAN也可以從控制文件中得到這個新文件的信息。
? ? ?控制文件還能用作RMAN目錄。RMAN完成數據庫任何部分備份后,會在控制文件中添加該記錄,以及說明備份開始和結束時間的檢查點信息。
? ??控制文件將其內部數據記錄分為兩類:循環重用記錄和非循環重用記錄。循環重用記錄包含可以從控制文件刪除的信息。例如:歸檔日志歷史信息可以刪除,并且不會影響產品數據庫。非循環重用記錄是那些不能被刪除的記錄,如果控制文件因這類記錄而空間不足,則會刪除這些記錄已得到更多的空間。非循環重用記錄包括數據文件列表和日志文件列表。
? ? 控制文件中的RMAN備份記錄屬于循環重用記錄類別,如果含有這些記錄的控制文件區域已滿,這些記錄就會被刪除。這會給恢復帶來災難。
? ? 可以通過設置controlfile_record_keep_time參數控制保留時間,參數默認值為7天,表明如果記錄的保留時間少于7天,就不會刪除該記錄,此時只能擴展控制文件區域。參數設置為0時將不會發生重用記錄,相應的控制文件將不斷擴展直至無法管理(不建議)。
? ?如果重建控制文件丟失,將導致RMAN備份的元數據丟失。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | SQL>?show?parameter?control NAME?????????????????????????????????TYPE????????VALUE ------------------------------------?-----------?------------------------------ control_file_record_keep_time????????integer?????7 SQL>?alter?system?set?control_file_record_keep_time=20; System?altered. SQL>?show?parameter?control NAME?????????????????????????????????TYPE????????VALUE ------------------------------------?-----------?------------------------------ control_file_record_keep_time????????integer?????20 [oracle@aix211?~]$rman?target?/ Recovery?Manager:?Release?10.2.0.1.0?-?Production?on?Wed?Jun?18?15:02:45?2014 Copyright?(c)?1982,?2005,?Oracle.??All?rights?reserved. connected?to?target?database:?PROD?(DBID=259825570,?not?open) RMAN>?show?all;?? using?target?database?control?file?instead?of?recovery?catalog RMAN?configuration?parameters?are: CONFIGURE?RETENTION?POLICY?TO?RECOVERY?WINDOW?OF?15?DAYS; control_file_record_keep_time指定的時間應該超過recovery?window。 |
快照控制文件:
???RMAN在備份期間需要得到一個一致的控制文件視圖,RMAN需要知道備份開始時的最新的檢查點信息和文件結構信息。開始備份后,RMAN需要這些信息在備份操作期間保持一致。
? ?在熱備份期間,控制文件是在不斷的發生變化,RMAN又如何獲得一個控制文件一致性的視圖呢?
? ? RMAN使用快照控制文件(snapshot controlfile)來解決前面的問題,快照控制文件時控制文件的副本。RMAN只在備份和同步操作期間使用快照控制文件。這些操作開始時,RMAN會根據實際控制文件內容來刷新快照控制文件,這樣會短暫地鎖定控制文件;隨后,RMAN會切換到快照并在備份期間持續使用這個快照。這種方式具有讀取一致性,且不妨礙數據庫活動。
??? 快照控制文件默認在dbs目錄下,文件名:snapcf_<ORACLE_SID>.f
| 1 2 3 4 5 | [oracle@aix211?~]$cd?$ORACLE_HOME/dbs [oracle@aix211?dbs]$ls ab_+ASM.dat?????hc_prod.dat?????init.ora????????initprod.ora????lkPROD??????????snapcf_prod.f hc_+ASM.dat?????init+ASM.ora????initdw.ora??????lk+ASM??????????orapwprod???????spfileprod.ora [oracle@aix211?dbs]$ |
? ?重命名快照控制文件:
? ?configure ?snapshot controlfile name to '<location\file_name>';
本文轉自 客居天涯 51CTO博客,原文鏈接:http://blog.51cto.com/tiany/1427679,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的RMAN深入解析之--控制文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL学习笔记 约束以及修改数据表
- 下一篇: [Linux]阿里云免费试用体验(在阿里