[Rman]Oracle 11g控制檔案延遲自動備份

梓沐發表於2016-02-15
1.檢視Rman是否開啟控制檔案自動備份功能
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name NEAL are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/file/backup/rman/controlfile_%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/product/11.2.0/db_1/dbs/snapcf_neal.f'; # default
1)控制檔案自動備份的功能時在Oracle10g中引入的功能。
2)Oracle10g中當資料庫結構發生改變時,那麼Oracle會自動備份控制檔案到指定目錄,在10g中只要資料庫的結構一有變化,會立馬產生控制檔案的備份。 
3)但是在Oracle11g中引入了控制檔案自動備份延遲建立的特性。即使你設定了控制檔案的自動備份,在資料庫結構發現變化的時候不會立即看到控制檔案的備份,而是過一段時間才會看到。
4)這是ORACLE為了改變效能而引入的,防止你在一個指令碼中多次對資料庫結構的變化而建立多個控制檔案備份。譬如CREATE TABLEPACE,DROP LOGFILE,ADD LOGEILE等,11g只會備份一個控制檔案,而不是多個。對於10g只要對資料庫結構改變,就會自動備份一個。 
實驗:
2.檢視當前備份的控制檔案
[oracle@cancer trace]$ ls /file/backup/rman/control*
/file/backup/rman/controlfile_c-4033362200-20151118-00
/file/backup/rman/controlfile_c-4033362200-20151118-01
/file/backup/rman/controlfile_c-4033362200-20151118-02
/file/backup/rman/controlfile_c-4033362200-20151118-03
/file/backup/rman/controlfile_c-4033362200-20151126-00
建立一個新的表空間
SQL> create tablespace test datafile '$ORACLE_BASE/oradata/neal/test01.dbf' size 1m;
Tablespace created.
3.再次檢視備份控制檔案,發現沒有變化
[oracle@cancer trace]$ ls /file/backup/rman/control*

/file/backup/rman/controlfile_c-4033362200-20151118-00
/file/backup/rman/controlfile_c-4033362200-20151118-01
/file/backup/rman/controlfile_c-4033362200-20151118-02
/file/backup/rman/controlfile_c-4033362200-20151118-03
/file/backup/rman/controlfile_c-4033362200-20151126-00
4.將建立的表空間刪除,重新檢視控制檔案的備份,發現仍沒建立
SQL> drop tablespace test including contents and datafiles;

Tablespace dropped.
[oracle@cancer trace]$ ls /file/backup/rman/control*
/file/backup/rman/controlfile_c-4033362200-20151118-00
/file/backup/rman/controlfile_c-4033362200-20151118-01
/file/backup/rman/controlfile_c-4033362200-20151118-02
/file/backup/rman/controlfile_c-4033362200-20151118-03
/file/backup/rman/controlfile_c-4033362200-20151126-00
這是由於Oracle透過隱含引數controlfile_autobackup_delay來控制這種行為,預設是300秒。
5.經過近5分鐘的等待後,重新檢視控制檔案備份,發現控制檔案已自動生成
[oracle@cancer trace]$ ls /file/backup/rman/control*

/file/backup/rman/controlfile_c-4033362200-20151118-00
/file/backup/rman/controlfile_c-4033362200-20151118-01
/file/backup/rman/controlfile_c-4033362200-20151118-02
/file/backup/rman/controlfile_c-4033362200-20151118-03
/file/backup/rman/controlfile_c-4033362200-20151126-00
/file/backup/rman/controlfile_c-4033362200-20151126-01 
 
Author:NEAL 
DATE:2015-11-26 

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

相關文章