恢復之丟失全部控制檔案以及備份中的控制檔案
如果控制檔案全部丟失,且沒有控制檔案的備份,則只能通過CREATE CONTROLFILE命令來重建控制檔案。
利用這種CREATE CONTROLFILE的方式重建控制檔案不需要使用RESETLOGS方式開啟資料庫。
如果在最後一次資料庫結構修改後使用了ALTER DATABASE BACKUP CONTROLFILE TO TRACE NORESETLOGS命令備份了建立控制檔案的指令碼,則可以直接用TRACE檔案中的指令碼進行控制檔案的重建。
如果使用ALTER DATABASE BACKUP CONTROLFILE TO TRACE NORESETLOGS命令之後又進行了資料庫結構的修改,則需要手工編輯TRACE檔案中的指令碼,來反映出資料庫最後的修改。
如果是使用的ALTER DATABASE BACKUP CONTROLFILE TO FILENAME方式進行的備份(這種情況其實應該算作有備份的情況,不過如果利用備份進行恢復需要使用RESETLOGS方式開啟資料庫),則可以利用備份的控制檔案首先將資料庫STARTUP MOUNT,然後再利用ALTER DATABASE BACKUP CONTROLFILE TO TRACE NORESETLOGS命令備份建立控制檔案的指令碼,最後將備份控制檔案後所有資料庫結構的修改,反映到控制檔案的指令碼上。
如果控制檔案沒有任何方式的備份,那麼只能通過手工方式編寫CREATE CONTROLFILE語句,這時候需要了解所有資料檔案和聯機重做日誌檔案的位置和大小。
SQL> STARTUP NOMOUNT
ORACLE 例程已經啟動。
Total System Global Area 76619308 bytes
Fixed Size 454188 bytes
Variable Size 50331648 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'F:ORACLEORADATATESTREDO01.LOG' SIZE 100M,
10 GROUP 2 'F:ORACLEORADATATESTREDO02.LOG' SIZE 100M,
11 GROUP 3 'F:ORACLEORADATATESTREDO03.LOG' SIZE 100M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'F:ORACLEORADATATESTSYSTEM01.DBF',
15 'F:ORACLEORADATATESTUNDOTBS01.DBF',
16 'F:ORACLEORADATATESTINDX01.DBF',
17 'F:ORACLEORADATATESTTOOLS01.DBF',
18 'F:ORACLEORADATATESTUSERS02.DBF',
19 'F:ORACLEORADATATESTYANGTK01.DBF'
20 CHARACTER SET ZHS16GBK
21 ;
控制檔案已建立
SQL> RECOVER DATABASE
ORA-00283: ??????????
ORA-00264: ?????
SQL> ALTER SYSTEM ARCHIVE LOG ALL;
系統已更改。
SQL> ALTER DATABASE OPEN;
資料庫已更改。
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'F:ORACLEORADATATESTTEMP01.DBF'
2 SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
表空間已更改。
上面RECOVER DATABASE步驟的錯誤描述資訊是資料庫不需要恢復。因此,直接忽略這個錯誤。
需要注意的是,這個方法適用於聯機重做日誌存在情況下的恢復。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/235507/viewspace-548700/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 控制檔案全部丟失恢復
- 控制檔案全部丟失的恢復
- 開啟 控制檔案自動備份下,引數檔案、控制檔案全部丟失恢復
- 【備份恢復】所有控制檔案丟失後 利用trace中的控制檔案備份執行恢復
- 丟失全部控制檔案後從RMAN備份集中恢復示例
- 【備份恢復】 丟失一個控制檔案 之恢復操作
- 當前控制檔案全部丟失恢復
- 控制檔案全部丟失,無備份,通過異機trace恢復
- 只有rman備份集,控制檔案丟失的恢復
- 全部控制檔案丟失後的完全恢復(轉)
- 控制檔案丟失恢復
- 【控制檔案丟失恢復】
- 非歸檔無備份下控制檔案丟失的恢復
- 備份&恢復之十三:損壞全部控制檔案
- 恢復丟失的控制檔案
- 恢復案例:無歸檔,丟失全部控制檔案、日誌檔案恢復案例
- 備份恢復實驗(1)丟失部分控制檔案
- 恢復案例:無歸檔,掉電,控制檔案全部丟失恢復
- rman備份丟失控制檔案恢復
- 沒有自動備份的情況下控制檔案全部丟失的恢復
- 無備份丟失部分資料檔案和控制檔案恢復 [轉]
- 控制檔案丟失恢復(二)
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- 控制檔案部分丟失的恢復
- 控制檔案丟失的RMAN恢復
- Oracle備份與恢復【丟失控制檔案的恢復】Oracle
- RMAN恢復案例:無恢復目錄,丟失全部資料檔案、控制檔案、日誌檔案恢復
- 備份恢復之資料檔案丟失
- 控制檔案丟失恢復例項(2) - 控制檔案備份後物理結構未變化
- 使用舊的控制檔案備份來恢復控制檔案
- 恢復測試:擁有當時的全部歸檔,控制檔案,恢復丟失的資料檔案。
- RMAN備份恢復之控制檔案的恢復(三)
- RMAN備份恢復之控制檔案的恢復(二)
- RMAN備份恢復之控制檔案的恢復(一)
- 控制檔案丟失恢復例項(1) - 控制檔案備份後物理結構發生變化
- 利用備份的控制檔案恢復
- 控制檔案的備份和恢復
- nid 對RMAN備份的影響--- 控制檔案中備份記錄全部丟失