恢復之丟失全部控制檔案以及備份中的控制檔案
如果控制檔案全部丟失,且沒有控制檔案的備份,則只能通過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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle控制檔案的損壞或完全丟失的恢復辦法Oracle
- 【RMAN】Oracle中如何備份控制檔案?備份控制檔案的方式有哪幾種?Oracle
- 新建的表空間(或資料檔案)丟失以及控制檔案丟失,有新建表空間(或資料檔案)前的控制文
- 剪下的檔案還能恢復嗎,恢復剪貼丟失的檔案
- dg丟失歸檔,使用rman增量備份恢復
- 與控制檔案有關的恢復
- 丟失的隨身碟檔案如何恢復?
- 【備份】RMAN中對控制檔案的幾種備份方法
- Oracle-無備份情況下,如何手動恢復控制檔案Oracle
- 電腦檔案丟失資料恢復資料恢復
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- 與控制檔案有關的恢復(二)
- Oracle為什麼使用備份的控制檔案恢復後一定要resetlogsOracle
- 檔案的基本管理和XFS檔案系統備份恢復
- Linux中XFS檔案系統的備份,恢復,修復Linux
- XFS檔案系統的備份、恢復、修復
- [20210225]控制檔案序列號滿的恢復.txt
- 如何從Active Backup for Business備份中恢復檔案
- Sql Server資料庫檔案丟失的恢復方法SQLServer資料庫
- 12 使用RMAN備份和恢復檔案
- 【/proc/檔案淺析】另類辦法恢復資料檔案和控制檔案
- oracle 控制檔案及引數檔案何時自動備份Oracle
- 存放在電腦中的檔案丟失了怎麼恢復
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- rman恢復控制檔案的一個小錯誤
- DATA GUARD主庫丟失資料檔案的恢復(3)
- DATA GUARD主庫丟失資料檔案的恢復(1)
- DATA GUARD主庫丟失資料檔案的恢復(2)
- RAC控制檔案恢復(三種不同情況)
- 世界備份日——如果您丟失了所有檔案
- macOS Big Sur系統如何恢復丟失的資料檔案?Mac
- 實戰:xfs檔案系統的備份和恢復
- 如何備份及恢復Linux檔案許可權Linux
- 【BBED】丟失歸檔檔案情況下的恢復
- Sqlserver系統資料庫和使用者資料庫日誌檔案全部丟失的恢復SQLServer資料庫
- 檔案中勒索恢復
- win10 ppt檔案丟失怎麼恢復_win10 ppt文件丟失如何找回Win10
- 2.7.10 恢復丟失或損壞的伺服器引數檔案(SPFILE)伺服器
- 檔案丟失不用怕:超實用的Mac資料恢復軟體!Mac資料恢復