設定EXCLUDE後STANDBY資料庫只讀表空間的恢復
在STANDBY資料庫利用RMAN恢復主庫上EXCLUDE的只讀表空間,碰到了問題。
資料庫恢復完成,但是恢復被主庫EXCLUDE的只讀表空間時,發現無法進行恢復:
RMAN> restore tablespace clubstat2_bak;
Starting restore at 14-FEB-11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=1094 devtype=DISK
file 22 is excluded from whole database backup
file 25 is excluded from whole database backup
file 28 is excluded from whole database backup
file 30 is excluded from whole database backup
restore not done; all files readonly, offline, or already restored
Finished restore at 14-FEB-11
對於主庫而言很簡單,只需要利用rman的configure exclude clear命令就可以解決這個問題,但是對於STANDBY資料庫而言,這個方法不可行:
RMAN> show exclude;
RMAN configuration parameters are:
CONFIGURE EXCLUDE FOR TABLESPACE 'CLUBSTAT2_BAK';
RMAN> configure exclude for tablespace 'CLUBSTAT2_BAK' clear;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of configure command at 02/14/2011 00:07:48
RMAN-05021: this configuration cannot be changed for a BACKUP or STANDBY control file
錯誤資訊很明確,當前控制檔案是STANDBY控制檔案,因此無法執行CONFIGURE EXCLUDE命令。
有一個簡單的解決方法,就是在主庫執行CONFIGURE EXCLUDE FOR TABLESPACE ‘CLUBSTAT2_BAK’ CLEAR命令,然後建立STANDBY CONTROLFILE,利用新建立的STANDBY控制檔案恢復這個只讀表空間。
但是由於當前目標資料庫使用的是ASM,在恢復其他資料檔案的時候,新建的資料檔名稱和主庫的名稱並不相同,這些新的名稱已經寫到控制檔案中了,如果使用新的控制檔案,還需要手工RENAME所有的資料檔案。當然也可以利用新的控制檔案恢復只讀表空間後,在換回原始的控制檔案,不過這種方法就顯得相對畢竟麻煩,也容易出錯。
最後選擇了利用RMAN在主庫COPY DATAFILE的方法,生成資料檔案的複製,將資料檔案複製ftp到備庫中利用catalog datafilecopy命令將資料檔案複製新增到控制檔案中,然後利用copy datafilecopy命令將只讀表空間的資料檔案複製到asm中指定的位置,從而變相的完成了只讀表空間的恢復。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-687131/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Oracle】rman 恢復只讀表空間資料庫Oracle資料庫
- [20150408]只讀表空間以及資料庫恢復.txt資料庫
- Oracle 11g RMAN恢復-只讀表空間的恢復Oracle
- Oracle 11g RMAN恢復-只讀表空間的恢復(備份是在表空間只讀狀態下做的)Oracle
- Oracle 11g RAN恢復-表空間在只讀時做了資料庫的備份Oracle資料庫
- [20150408]只讀表空間以及資料庫恢復2.txt資料庫
- 非歸檔庫誤刪表空間後的資料恢復資料恢復
- 只讀表空間的恢復問題--預備知識
- 表空間級資料庫備份恢復資料庫
- (Les16 執行資料庫恢復)-表空間恢復資料庫
- rman恢復資料檔案 恢復表空間
- Oracle資料庫設定預設表空間Oracle資料庫
- 【資料庫資料恢復】SQL Server資料庫磁碟空間不足的資料恢復案例資料庫資料恢復SQLServer
- MySQL設定資料庫為只讀MySql資料庫
- 備份與恢復--一個表空間能否被多個資料庫讀寫?資料庫
- 如何用rman 不備份只讀表空間的資料
- 直接刪除undo及temp表空間檔案後的資料庫恢復一例資料庫
- 撤消表空間資料檔案丟失的恢復.
- 【資料庫資料恢復】磁碟空間不足導致sql server錯誤的資料恢復資料庫資料恢復SQLServer
- RAC 恢復(備份後建立的表空間(leviton)恢復後會自動重建)
- 設定SQLServer資料庫中某些表為只讀的多種方法SQLServer資料庫
- 恢復Oracle表空間的方法Oracle
- Oracle RMAN 表空間恢復Oracle
- SQL Server 2008資料庫新增資料檔案後Standby庫的恢復SQLServer資料庫
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- mysql 無備份恢復drop資料-共享表空間MySql
- 記一次undo表空間資料塊恢復
- Oracle資料庫的可恢復性設定Oracle資料庫
- Backup And Recovery User's Guide-執行完全資料庫恢復-執行表空間的完全恢復GUIIDE資料庫
- 只讀表空間物件被刪除後對應的物件資訊物件
- Oracle RMAN 表空間的完全恢復Oracle
- 【資料庫資料恢復】SqlServer資料庫無法讀取的資料恢復案例資料庫資料恢復SQLServer
- DB2 使用表空間備份恢復庫DB2
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- 【管理篇備份恢復】rman恢復測試(一) 表空間資料檔案
- 【Oracle 恢復表空間】 實驗Oracle
- SYSAUX表空間管理及恢復UX
- oracle 10g R2 恢復完資料庫後自動新增臨時表空間資料檔案Oracle 10g資料庫