無處不在的Oracle資料庫控制檔案備份
Oracle資料庫控制檔案的存在對於Oracle資料庫恢復來說是很重要的,基於此Oracle控制檔案的備份是無處不在的。下面我們來詳細討論Oracle控制檔案存在的備份:
1.RMAN自動備份控制檔案。
1).啟用控制檔案自動備份:
2).控制檔案自動備份:
c-3297696735-20120113-01檔案是RMAN自動備份的控制檔案,該檔案位於$ORACLE_HOME/dbs目錄下,存放在該目錄下能夠避免儲存的損壞帶來的所有備份控制檔案的丟失。該檔案的名稱中c是control的縮寫,3297696735是DBID,20120113是日期,01是序號:
控制檔案的備份是非常小的,開啟RMAN對控制檔案的自動備份基本不會帶來問題。
2.控制檔案快照。
從上面的輸出可以看出在控制檔案和SPFILE備份的時候會產生一個新的控制檔案快照,控制檔案快照同樣可用於資料庫的恢復。
3.無處不在的控制檔案快照。
下面的操作是在關閉了RMAN控制檔案自動備份的情況下執行的。
1).使用RMAN執行備份操作:
2).檢視控制檔案快照生成的時間:
在對database執行備份的時候,即使沒有開啟RMAN對控制檔案的自動備份,RMAN也會自動備份控制檔案和SPFILE到備份片,但是該備份片與備份存放在一起,而非存放在$ORACLE_HOME/dbs目錄下,且在備份控制檔案和SPFILE檔案前會新生成一個控制檔案快照。
請注意,如果開啟了RMAN對控制檔案的自動備份,那麼在對database執行備份的時候就不會再像上面那樣自動備份控制檔案和SPFILE檔案到備份片。
總結:
從上面的例子可以看出,Oracle控制檔案真是無處不在,丟失控制檔案的情況可以說很難發生,即使丟失我們也可以透過其他方法來恢復資料庫,請參考文章:http://space.itpub.net/23135684/viewspace-711883。另外,在資料結構發生變化或備份指令碼中使用ALTER DATABASE BACKUP CONTROLFILE命令備份控制檔案也是可以考慮的方法。
1.RMAN自動備份控制檔案。
1).啟用控制檔案自動備份:
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
2).控制檔案自動備份:
RMAN> backup device type disk format '/tmp/%U' datafile 4;
Starting backup at 2012-01-13 09:50:40
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00004 name=+DATA1/ractest/datafile/users.259.769378773
channel ORA_DISK_1: starting piece 1 at 2012-01-13 09:50:40
channel ORA_DISK_1: finished piece 1 at 2012-01-13 09:50:41
piece handle=/tmp/0bn0lb3g_1_1 tag=TAG20120113T095040 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2012-01-13 09:50:41
Starting Control File and SPFILE Autobackup at 2012-01-13 09:50:41
piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/c-3297696735-20120113-01 comment=NONE
Finished Control File and SPFILE Autobackup at 2012-01-13 09:50:48
c-3297696735-20120113-01檔案是RMAN自動備份的控制檔案,該檔案位於$ORACLE_HOME/dbs目錄下,存放在該目錄下能夠避免儲存的損壞帶來的所有備份控制檔案的丟失。該檔案的名稱中c是control的縮寫,3297696735是DBID,20120113是日期,01是序號:
SQL> select dbid from v$database;
DBID
----------
3297696735
SQL> select to_char(sysdate,'yyyymmdd') from dual;
TO_CHAR(
--------
20120113
控制檔案的備份是非常小的,開啟RMAN對控制檔案的自動備份基本不會帶來問題。
2.控制檔案快照。
1).執行備份操作:
RMAN> backup device type disk format '/tmp/%U' datafile 4;
RMAN> backup device type disk format '/tmp/%U' datafile 4;
Starting backup at 2012-01-13 10:21:52
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00004 name=+DATA1/ractest/datafile/users.259.769378773
channel ORA_DISK_1: starting piece 1 at 2012-01-13 10:21:53
channel ORA_DISK_1: finished piece 1 at 2012-01-13 10:21:54
piece handle=/tmp/0kn0lcu0_1_1 tag=TAG20120113T102152 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2012-01-13 10:21:54
Starting Control File and SPFILE Autobackup at 2012-01-13 10:21:54
piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/c-3297696735-20120113-03 comment=NONE
Finished Control File and SPFILE Autobackup at 2012-01-13 10:22:01
2).檢視控制檔案快照的生成時間:
2).檢視控制檔案快照的生成時間:
[oracle@rhel1 dbs]$ ls sna* --full-time|awk '{print $6,$7}'
2012-01-13 10:21:57.000000000
從上面的輸出可以看出在控制檔案和SPFILE備份的時候會產生一個新的控制檔案快照,控制檔案快照同樣可用於資料庫的恢復。
3.無處不在的控制檔案快照。
下面的操作是在關閉了RMAN控制檔案自動備份的情況下執行的。
1).使用RMAN執行備份操作:
RMAN> backup device type disk format '/tmp/%U' database skip offline;
Starting backup at 2012-01-13 10:11:56
using channel ORA_DISK_1
skipping offline file 7
RMAN-06060: WARNING: skipping datafile compromises tablespace TEST recoverability
RMAN-06060: WARNING: skipping datafile compromises tablespace TEST recoverability
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=+DATA1/ractest/datafile/system.256.769378761
input datafile file number=00002 name=+DATA1/ractest/datafile/sysaux.257.769378769
input datafile file number=00003 name=+DATA1/ractest/datafile/undotbs1.258.769378771
input datafile file number=00005 name=+DATA1/ractest/datafile/undotbs2.264.769379825
input datafile file number=00004 name=+DATA1/ractest/datafile/users.259.769378773
input datafile file number=00006 name=+OCR_DATA2/ractest/datafile/test.256.771175117
channel ORA_DISK_1: starting piece 1 at 2012-01-13 10:11:57
channel ORA_DISK_1: finished piece 1 at 2012-01-13 10:14:30
piece handle=/tmp/0hn0lcbd_1_1 tag=TAG20120113T101156 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:33
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 2012-01-13 10:14:33
channel ORA_DISK_1: finished piece 1 at 2012-01-13 10:14:34
piece handle=/tmp/0in0lcg6_1_1 tag=TAG20120113T101156 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2012-01-13 10:14:34
2).檢視控制檔案快照生成的時間:
[oracle@rhel1 dbs]$ ls sna* --full-time|awk '{print $6,$7}'
2012-01-13 10:14:33.000000000
在對database執行備份的時候,即使沒有開啟RMAN對控制檔案的自動備份,RMAN也會自動備份控制檔案和SPFILE到備份片,但是該備份片與備份存放在一起,而非存放在$ORACLE_HOME/dbs目錄下,且在備份控制檔案和SPFILE檔案前會新生成一個控制檔案快照。
請注意,如果開啟了RMAN對控制檔案的自動備份,那麼在對database執行備份的時候就不會再像上面那樣自動備份控制檔案和SPFILE檔案到備份片。
總結:
從上面的例子可以看出,Oracle控制檔案真是無處不在,丟失控制檔案的情況可以說很難發生,即使丟失我們也可以透過其他方法來恢復資料庫,請參考文章:http://space.itpub.net/23135684/viewspace-711883。另外,在資料結構發生變化或備份指令碼中使用ALTER DATABASE BACKUP CONTROLFILE命令備份控制檔案也是可以考慮的方法。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-722617/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫控制檔案在備份恢復中的作用Oracle資料庫
- 使用備份的控制檔案恢復資料庫資料庫
- 把資料庫控制檔案備份到跟蹤檔案資料庫
- oracle uncatalog資料庫備份檔案Oracle資料庫
- rman恢復資料庫--用備份的控制檔案資料庫
- 無備份丟失部分資料檔案和控制檔案恢復 [轉]
- 驗證控制檔案、歸檔檔案、不同BLOCK大小的資料檔案對應的RMAN備份集不在同一PIECEBloC
- Dedecms備份的資料檔案位置及備份資料庫的方法資料庫
- 【RMAN】Oracle中如何備份控制檔案?備份控制檔案的方式有哪幾種?Oracle
- rman備份-(1) 利用備份級恢復資料檔案和控制檔案
- RMAN說,我能備份(4)--RMAN備份資料檔案和控制檔案
- RMAN備份資料檔案+控制檔案+歸檔日誌
- Backup And Recovery User's Guide-備份資料庫-使用RMAN備份控制檔案GUIIDE資料庫
- Oracle備份與恢復系列(四)複製資料庫 續 建立新的控制檔案Oracle資料庫
- 備份之控制檔案備份
- 重建Oracle資料庫控制檔案Oracle資料庫
- 備份控制檔案
- Oracle 11g 備份控制檔案Oracle
- Oracle備份與恢復系列(四)複製資料庫 使用原有的控制檔案Oracle資料庫
- 還原sqlserver資料庫備份檔案.bak的檔案SQLServer資料庫
- oracle11g 資料檔案誤刪恢復(無備份)Oracle
- oracle10g_備份控制檔案_得到重建控制檔案的指令碼Oracle指令碼
- Oracle 無備份情況下undo檔案損壞處理Oracle
- 遠端備份資料庫和檔案的方法資料庫
- 用rman建立dataguard備用資料庫繼續(無法找到備份檔案)資料庫
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- Oracle資料庫的備份方法-冷備份(轉)Oracle資料庫
- Backup And Recovery User's Guide-備份資料庫-備份處於非歸檔模式的資料庫GUIIDE資料庫模式
- Backup And Recovery User's Guide-備份資料庫-使用RMAN備份資料庫檔案GUIIDE資料庫
- 不完全恢復(資料檔案備份--新建表空間--控制檔案備份--日誌歸檔檔案)
- 資料檔案丟失 無備份 無重啟 通過控制程式碼恢復
- 資料檔案丟失,無備份,無重啟,通過控制程式碼恢復
- SQL SERVER備份資料庫檔案(使用SSMS)SQLServer資料庫SSM
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- RMAN資料庫恢復 之歸檔模式有(無)備份-丟失資料檔案的恢復資料庫模式
- 非歸檔無備份下控制檔案丟失的恢復
- 生活中無處不在的資料分析
- Oracle-無備份情況下,如何手動恢復控制檔案Oracle