聽說過Oracle 控制檔案,還有快照控制檔案這個說法呢?沒錯,儘管快照控制檔案很少被提及,但確實是存在,只不過在使用RMAN時這個快照控制檔案被使用。回顧一下 Oracle 控制檔案,我們知道控制檔案是Oracle體繫結構中的重要組成部分之一,記錄了當前資料庫的結構資訊,同時也包含資料檔案及記錄檔的資訊以及相關的狀態,歸檔資訊,也記錄了系統當前SCN的值等等。那快照控制檔案也就是控制檔案的一個副本,本文介紹了什麼是快照控制檔案以及何時被使用。
1、快照控制檔案
快照控制檔案是由RMAN復原管理員在系統指定位置產生的當前控制檔案的一個副本
我們知道控制檔案在整個資料庫生命期中在不斷的時時刻刻發生變化,RMAN備份需要依賴於控制檔案或恢複目錄,也就是說需要知道備份開始時的檢查點SCN以及所有檔案結構資訊並且在整個備份期間這些資訊需要保持一致,但又不能鎖定控制檔案(鎖定操作無法執行檢查點,切換日誌等)。因此既要保持一致性,又不影響資料庫的正常操作。快照控制檔案就應運而生了。RMAN只在備份或同步操作期間對實際控制檔案進行一個短暫的鎖定,並根據其內容來產生或重新整理快照控制檔案。一旦該動作完成之後,RMAN將切換到使用快照控制檔案進行備份及同步操作。從而保證備份期間控制檔案,資料檔案等等的一致性。
綜上所述,其主要作用是使用RMAN同步恢複目錄或備份時能得到一個一致性的控制檔案。
2、配置快照控制檔案
a、快照控制檔案位置
快照控制檔案的位置取決於不同的系統平台,如果啟用了快速閃回區,預設情況下,產生的快照控制檔案並不位於閃回區
Linux/Unix平台為: $ORACLE_HOME/dbs/snapcf_@.f
Windows平台為: %ORACLE_HOME%\database\snapcf_@.f
b、查看快照控制檔案位置
[oracle@linux1 dbs]$ export ORACLE_SID=usbo
[oracle@linux1 dbs]$ rman target /
--查看快照控制檔案的位置
RMAN> show snapshot controlfile name;
RMAN configuration parameters for database with db_unique_name USBO are:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/db_1/dbs/snapcf_usbo.f'; # default
c、修改快照空檔案位置
sys@USBO> show parameter db_recov
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
db_recovery_file_dest string /u03/database/usbo/fr_area
db_recovery_file_dest_size big integer 3852M
sys@USBO> ho ls /u03/database/usbo/fr_area/USBO
archivelog
sys@USBO> ho mkdir -p /u03/database/usbo/fr_area/USBO/snap
--使用configure命令來配置快照控制檔案的位置,如下,我們修改到使用閃回區來存放
RMAN> configure snapshot controlfile name to '/u03/database/usbo/fr_area/USBO/snap/snapcf_usbo.f';
new RMAN configuration parameters:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u03/database/usbo/fr_area/USBO/snap/snapcf_usbo.f';
new RMAN configuration parameters are successfully stored
--查看修改之後快照控制檔案的位置
RMAN> show snapshot controlfile name;
RMAN configuration parameters for database with db_unique_name USBO are:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u03/database/usbo/fr_area/USBO/snap/snapcf_usbo.f';
更多詳情見請繼續閱讀下一頁的精彩內容:
推薦閱讀:
Oracle Undo 鏡像資料探究
Oracle 復原(ROLLBACK)和撤銷(Undo)
Undo 資料表空間損壞導致無法open
Undo資料表空間失敗的處理方法
Oracle Undo資料表空間重建與恢複