恢復之利用備份在所有控制檔案丟失情況下恢復(二)
控制檔案全部丟失的情況下,根據聯機重做日誌檔案是否可用和資料檔案是否是最新的可以分為四種不同情況,這篇文章描述的是,資料檔案是最新的,但是聯機重做日誌不可用的情況。
由於聯機重做日誌不可用,因此無法利用備份的控制檔案進行恢復,而只能通過重建控制檔案的方法。
如果利用歸檔的控制檔案進行恢復,會發現在應用所有歸檔的重做日誌之後,資料庫仍然無法正常開啟,資料庫仍然需要聯機日誌進行恢復。因此,這種情況必須通過重建控制檔案來完成。
SQL> CONN /@TEST AS SYSDBA
已連線。
SQL> SHUTDOWN IMMEDIATE
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> HOST DEL F:ORACLEORADATATEST*.CTL
SQL> HOST DEL F:ORACLEORADATATEST*.LOG
上面模擬了資料庫正常關閉,丟失全部控制檔案和全部日誌檔案的情況。
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" RESETLOGS ARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 680
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:ORACLEORADATATESTUSERS01.DBF',
19 'F:ORACLEORADATATESTYANGTK01.DBF'
20 CHARACTER SET ZHS16GBK
21 ;
控制檔案已建立
SQL> ALTER DATABASE OPEN RESETLOGS;
資料庫已更改。
可以利用以前備份到trace檔案的重建控制檔案指令碼進行恢復,如果沒有trace檔案,則只能自己根據資料檔案和重做日誌檔案的位置手工編輯重建控制檔案的指令碼。
重建控制檔案後使用RESETLOGS方式開啟即可。
最後將TEMP資料檔案新增上。
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'F:ORACLEORADATATESTTEMP01.DBF'
2 SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
表空間已更改。
恢復結束,這時需要馬上進行備份。
注意,這種情況的恢復要求資料庫必須是正常關閉。如果資料庫是以ABORT方式關閉,則需要進行資料庫的不完全恢復。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/235507/viewspace-548677/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 恢復之利用備份在所有控制檔案丟失情況下恢復(四)
- 恢復之利用備份在所有控制檔案丟失情況下恢復(三)
- 恢復之利用備份在所有控制檔案丟失情況下恢復(一)
- 【備份恢復】所有控制檔案丟失後 利用trace中的控制檔案備份執行恢復
- 【備份恢復】 丟失一個控制檔案 之恢復操作
- 【備份恢復】丟失所有控制檔案,利用RMAN進行恢復操作
- 【rman 備份與恢復】恢復丟失所有的控制檔案
- 沒有自動備份的情況下控制檔案全部丟失的恢復
- undo表空間檔案丟失恢復(2)--無備份有redo的情況下恢復
- undo表空間檔案丟失恢復(3)--無備份無redo的情況下恢復
- undo表空間檔案丟失恢復(4)--無備份無recover的情況下恢復
- 控制檔案丟失恢復(二)
- 備份與恢復--利用備份的控制檔案恢復
- RMAN備份恢復之控制檔案的恢復(二)
- 備份恢復之資料檔案丟失
- REDO檔案丟失的恢復__沒有任何備份的情況
- 非歸檔無備份下控制檔案丟失的恢復
- 恢復之丟失全部控制檔案以及備份中的控制檔案
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- 【備份恢復】歸檔模式下丟失系統關鍵資料檔案 利用RMAN備份恢復模式
- 全備份情況下,刪除控制檔案及恢復
- 控制檔案丟失恢復
- 【控制檔案丟失恢復】
- Oracle備份與恢復【丟失控制檔案的恢復】Oracle
- 只有rman備份集,控制檔案丟失的恢復
- 備份恢復實驗(1)丟失部分控制檔案
- 【備份恢復】恢復 丟失已歸檔重做日誌檔案
- 利用備份的控制檔案恢復
- Oracle備份與恢復【丟失資料檔案的恢復】Oracle
- rman備份丟失控制檔案恢復
- 【備份恢復】非歸檔模式下丟失任意資料檔案 恢復操作模式
- 利用增量備份恢復gap歸檔丟失DG
- 【管理篇備份恢復】rman恢復測試(二) 控制檔案恢復(二)
- 恢復丟失的控制檔案
- 控制檔案全部丟失恢復
- RMAN備份恢復之控制檔案的恢復(三)
- RMAN備份恢復之控制檔案的恢復(一)
- Oracle-無備份情況下,如何手動恢復控制檔案Oracle