當oracle丟失所有控制檔案後可以重新建立控制檔案來恢復資料庫
當oracle丟失所有控制檔案後可以重新建立控制檔案來使資料庫正常開啟
重新建立控制檔案的方法如下:
第一步是查詢出該資料的所有日誌檔案,資料檔案和控制檔案
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO03.LOG
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO02.LOG
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO01.LOG
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO01A.LOG
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO02A.LOG
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO03A.LOG
6 rows selected.
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\SYSTEM01.DBF
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\UNDOTBS01.DBF
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\SYSAUX01.DBF
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\USERS01.DBF
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\EXAMPLE01.DBF
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\OCP
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\RCAT_TS
7 rows selected.
SQL> select value from v$parameter where name='control_files';
VALUE
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\CONTROL01.CTL, D:\ORACLE\PRODUCT\10.1.0\ORA
DATA\OCP\CONTROL02.CTL, D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\CONTROL03.CTL, D:\O
RACLE\PRODUCT\CONTROL04.CTL
第二步是關閉資料庫
shutdown
第三步是備份所有的日誌檔案和資料檔案
第四步是啟動資料庫到nomount的狀態
startup nomount
第五步是重新建立控制檔案,當重新建立控制檔案時如果你丟失了一個要新增到新建立的控制檔案中的一個日誌組,
在這種情況下資料庫要從丟失該日誌組的情況下恢復,如果你要重新命名資料庫的話你就是使用RESETLOGS語句,否則
你就使用NORESETLOGS語句.
CREATE CONTROLFILE reuse set
DATABASE ocp
LOGFILE GROUP 1 ('D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO01.LOG',
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO01A.LOG') size 200m ,
GROUP 2 ('D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO02.LOG',
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO02A.LOG') size 200m,
GROUP 3 ('D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO03.LOG',
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO03A.LOG') size 200m
RESETLOGS
DATAFILE 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\SYSTEM01.DBF',
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\UNDOTBS01.DBF' ,
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\SYSAUX01.DBF' ,
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\USERS01.DBF' ,
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\EXAMPLE01.DBF'
MAXLOGFILES 50
MAXLOGMEMBERS 3
MAXLOGHISTORY 400
MAXDATAFILES 200
MAXINSTANCES 6
第六步是在離線的磁碟上備份你新建立的控制檔案
第七步是編輯初始化引數檔案修改control_files引數指向你重新建立的引數檔案
第八步開啟資料庫,alter database open;如果你在重新建立控制檔案時使用了resetlogs語句的話那麼在開啟資料庫時
就得用alter database open resetlogs來開啟資料庫.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-711011/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 當前控制檔案全部丟失恢復
- 控制檔案丟失恢復
- 【控制檔案丟失恢復】
- 丟失一個控制檔案並恢復資料庫資料庫
- 控制檔案丟失恢復(二)
- 恢復丟失的控制檔案
- 控制檔案全部丟失恢復
- 【備份恢復】所有控制檔案丟失後 利用trace中的控制檔案備份執行恢復
- rman恢復:資料檔案丟失,控制檔案丟失,聯機日誌檔案丟失(非當前使用與當前使用)
- 引數檔案控制檔案和資料檔案丟失的恢復
- 完全恢復之所有資料庫檔案丟失資料庫
- 恢復測試:擁有當時的全部歸檔,控制檔案,恢復丟失的資料檔案。
- 控制檔案全部丟失的恢復
- 控制檔案部分丟失的恢復
- 控制檔案丟失的RMAN恢復
- 全部控制檔案丟失後的完全恢復(轉)
- 【原創】模擬控制檔案丟失的資料庫恢復資料庫
- RMAN恢復案例:無恢復目錄,丟失全部資料檔案、控制檔案、日誌檔案恢復
- 無備份丟失部分資料檔案和控制檔案恢復 [轉]
- 資料庫所有檔案丟失後透過RMAN實現恢復資料庫
- Oracle恢復例項之一:資料檔案、控制檔案、聯機日誌丟失Oracle
- 恢復之丟失全部控制檔案以及備份中的控制檔案
- 探索ORACLE之RMAN_07 控制檔案丟失恢復Oracle
- 恢復案例:無歸檔,丟失全部控制檔案、日誌檔案恢復案例
- 當丟失控制檔案但重做日誌檔案還在時如何恢復資料庫資料庫
- 模擬控制檔案丟失進行恢復。
- 歸檔模式有備份丟失控制檔案和資料檔案後恢復模式
- 控制檔案丟失恢復例項(3) - 使用重建控制檔案方式(noresetlogs)
- 恢復案例:無歸檔,掉電,控制檔案全部丟失恢復
- 同時丟失控制檔案與資料檔案的恢復
- 控制檔案丟失恢復例項(2) - 控制檔案備份後物理結構未變化
- 開啟 控制檔案自動備份下,引數檔案、控制檔案全部丟失恢復
- 恢復之利用備份在所有控制檔案丟失情況下恢復(四)
- 恢復之利用備份在所有控制檔案丟失情況下恢復(三)
- 恢復之利用備份在所有控制檔案丟失情況下恢復(二)
- 恢復之利用備份在所有控制檔案丟失情況下恢復(一)
- 【rman 備份與恢復】恢復丟失所有的控制檔案
- 資料檔案丟失的恢復