【Oracle】rman 恢復只讀表空間資料庫
在預設情況下,即使丟失了只讀的資料檔案,RMAN也不會在執行完全資料庫還原操作時還原只讀的資料檔案。
要在完全恢復期間還原只讀的資料檔案,就必須在restore命令中使用check readonly引數:
靜態或歷史資料儲存在只讀表空間中是一個很好的做法,特別是對於資料倉儲型別的環境。
使用RMAN SKIP READONLY命令,我們可以透過從資料庫備份集中排除這些只讀表空間來減少備份視窗和開銷。
但是,我們需要記住,我們需要至少在備份表空間後才能讀取,之後我們可以使用SKIP READONLY命令從每日或每週的資料庫備份中排除這些表空間。
然而,在進行恢復時,我們需要使用CHECK READONLY關鍵字,否則預設情況下,只讀表空間將不會恢復,因此恢復也將繞過這些表空間。隨後嘗試開啟資料庫將失敗。
案列:
現在,只讀表格也被還原,但是我們注意到恢復階段將跳過這些表空間,因為不需要恢復,因為這些表空間在上述這些表空間被替換為只讀後才進行上次備份,因此沒有發生任何更改。
要在完全恢復期間還原只讀的資料檔案,就必須在restore命令中使用check readonly引數:
靜態或歷史資料儲存在只讀表空間中是一個很好的做法,特別是對於資料倉儲型別的環境。
使用RMAN SKIP READONLY命令,我們可以透過從資料庫備份集中排除這些只讀表空間來減少備份視窗和開銷。
但是,我們需要記住,我們需要至少在備份表空間後才能讀取,之後我們可以使用SKIP READONLY命令從每日或每週的資料庫備份中排除這些表空間。
然而,在進行恢復時,我們需要使用CHECK READONLY關鍵字,否則預設情況下,只讀表空間將不會恢復,因此恢復也將繞過這些表空間。隨後嘗試開啟資料庫將失敗。
案列:
RMAN> restore database;
Starting restore at 12-AUG-09
using channel ORA_SBT_TAPE_1
using channel ORA_DISK_1 datafile 4 not processed because file is read-only
datafile 6 not processed because file is read-only
datafile 9 not processed because file is read-only channel ORA_SBT_TAPE_1: starting datafile backupset restore
channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /u02/oradata/testdb/system01.dbf
restoring datafile 00002 to /u02/oradata/testdb/undotbs01.dbf
restoring datafile 00003 to /u02/oradata/testdb/sysaux01.dbf
restoring datafile 00005 to /u02/oradata/testdb/example01.dbf
channel ORA_SBT_TAPE_1: reading from backup piece 08kmb8f7_1_1
channel ORA_SBT_TAPE_1: restored backup piece 1
piece handle=08kmb8f7_1_1 tag=TAG20090810T120039
channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:10:36
Finished restore at 12-AUG-09
RMAN> recover database; Starting recover at 12-AUG-09 using channel ORA_SBT_TAPE_1 using channel ORA_DISK_1 datafile 4 not processed because file is read-only datafile 6 not processed because file is read-only datafile 9 not processed because file is read-only channel ORA_SBT_TAPE_1: starting incremental datafile backupset restore channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set destination for restore of datafile 00001: /u02/oradata/testdb/system01.dbf ..... ....... archive log filename=/u02/oradata/testdb/arch/arch.36.1.694170424.log thread=1 sequence=36 archive log filename=/u02/oradata/testdb/arch/arch.37.1.694170424.log thread=1 sequence=37 archive log filename=/u02/oradata/testdb/arch/arch.38.1.694170424.log thread=1 sequence=38 media recovery complete, elapsed time: 00:00:43 Finished recover at 12-AUG-09 RMAN> alter database open; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of alter db command at 08/12/2009 12:55:30 ORA-01157: cannot identify/lock data file 4 - see DBWR trace file ORA-01110: data file 4: '/u02/oradata/testdb/users03.dbf'
現在,只讀表格也被還原,但是我們注意到恢復階段將跳過這些表空間,因為不需要恢復,因為這些表空間在上述這些表空間被替換為只讀後才進行上次備份,因此沒有發生任何更改。
MAN> restore database check readonly; Starting restore at 12-AUG-09 using channel ORA_SBT_TAPE_1 using channel ORA_DISK_1 channel ORA_SBT_TAPE_1: starting datafile backupset restore channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set restoring datafile 00001 to /u02/oradata/testdb/system01.dbf restoring datafile 00002 to /u02/oradata/testdb/undotbs01.dbf restoring datafile 00003 to /u02/oradata/testdb/sysaux01.dbf restoring datafile 00004 to /u02/oradata/testdb/users03.dbf restoring datafile 00005 to /u02/oradata/testdb/example01.dbf restoring datafile 00006 to /u02/oradata/testdb/users02.dbf restoring datafile 00009 to /u02/oradata/testdb/users01.dbf channel ORA_SBT_TAPE_1: reading from backup piece 08kmb8f7_1_1 channel ORA_SBT_TAPE_1: restored backup piece 1 piece handle=08kmb8f7_1_1 tag=TAG20090810T120039 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:05:25 Finished restore at 12-AUG-09 RMAN> recover database; Starting recover at 12-AUG-09 using channel ORA_SBT_TAPE_1 using channel ORA_DISK_1 datafile 4 not processed because file is read-only datafile 6 not processed because file is read-only datafile 9 not processed because file is read-only channel ORA_SBT_TAPE_1: starting incremental datafile backupset restore channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set destination for restore of datafile 00001: /u02/oradata/testdb/system01.dbf destination for restore of datafile 00002: /u02/oradata/testdb/undotbs01.dbf destination for restore of datafile 00003: /u02/oradata/testdb/sysaux01.dbf destination for restore of datafile 00005: /u02/oradata/testdb/example01.dbf channel ORA_SBT_TAPE_1: reading from backup piece 0akmb8uu_1_1 channel ORA_SBT_TAPE_1: restored backup piece 1 piece handle=0akmb8uu_1_1 tag=TAG20090810T120901 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:07 starting media recovery archive log thread 1 sequence 36 is already on disk as file /u02/oradata/testdb/arch/arch.36.1.694170424.log archive log thread 1 sequence 37 is already on disk as file /u02/oradata/testdb/arch/arch.37.1.694170424.log archive log thread 1 sequence 38 is already on disk as file /u02/oradata/testdb/arch/arch.38.1.694170424.log archive log thread 1 sequence 39 is already on disk as file /u02/oradata/testdb/arch/arch.39.1.694170424.log archive log thread 1 sequence 40 is already on disk as file /u02/oradata/testdb/arch/arch.40.1.694170424.log archive log filename=/u02/oradata/testdb/arch/arch.36.1.694170424.log thread=1 sequence=36 archive log filename=/u02/oradata/testdb/arch/arch.37.1.694170424.log thread=1 sequence=37 archive log filename=/u02/oradata/testdb/arch/arch.38.1.694170424.log thread=1 sequence=38 media recovery complete, elapsed time: 00:00:39 Finished recover at 12-AUG-09 RMAN> alter database open; database opened
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30327022/viewspace-2137218/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11g RMAN恢復-只讀表空間的恢復Oracle
- Oracle 11g RMAN恢復-只讀表空間的恢復(備份是在表空間只讀狀態下做的)Oracle
- Oracle RMAN 表空間恢復Oracle
- 設定EXCLUDE後STANDBY資料庫只讀表空間的恢復資料庫
- rman恢復資料檔案 恢復表空間
- Oracle RMAN 表空間的完全恢復Oracle
- [20150408]只讀表空間以及資料庫恢復.txt資料庫
- Oracle 11g RAN恢復-表空間在只讀時做了資料庫的備份Oracle資料庫
- [20150408]只讀表空間以及資料庫恢復2.txt資料庫
- 如何用rman 不備份只讀表空間的資料
- 表空間級資料庫備份恢復資料庫
- (Les16 執行資料庫恢復)-表空間恢復資料庫
- oracle實驗記錄 (恢復-表空間基於時間點恢復(rman))Oracle
- 只讀表空間的恢復問題--預備知識
- RMAN基於時間點恢復Oracle資料庫Oracle資料庫
- oracle之rman恢復資料庫Oracle資料庫
- 【管理篇備份恢復】rman恢復測試(一) 表空間資料檔案
- 【RMAN】SYSTEM表空間資料檔案丟失恢復模擬
- 【Oracle 恢復表空間】 實驗Oracle
- 恢復Oracle表空間的方法Oracle
- 【RMAN】表空間基於時間點的RMAN恢復-TSPITR
- RMAN恢復資料庫資料庫
- 備份與恢復--一個表空間能否被多個資料庫讀寫?資料庫
- oracle RMAN 非歸檔資料庫恢復Oracle資料庫
- 【資料庫資料恢復】SQL Server資料庫磁碟空間不足的資料恢復案例資料庫資料恢復SQLServer
- ORACLE 只讀資料檔案備份與恢復Oracle
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- oracle清除資料庫表空間Oracle資料庫
- 只存在RMAN備份片的資料庫恢復過程資料庫
- 非歸檔庫誤刪表空間後的資料恢復資料恢復
- Oracle 11g RMAN恢復-使用者誤刪除表空間Oracle
- Oracle Rman 資料庫的不完全恢復Oracle資料庫
- Oracle資料庫備份與恢復之RMANOracle資料庫
- Oracle資料庫RMAN小結之恢復部分Oracle資料庫
- 非系統表空間損壞,rman備份恢復
- RMAN恢復單個表空間或被DROP/DELETE/TRUNCATE的表delete
- 使用RMAN對PDB中的表空間或資料檔案執行完全恢復
- Oracle12c多租戶資料庫備份與恢復 - 備份表空間Oracle資料庫