損壞控制檔案的恢復方法
損壞單個控制檔案是比較容易恢復的,因為一般的資料庫系統,控制檔案都不是一個,而且所有的控制檔案都互為鏡相,只要複製一個好的控制檔案替換壞的控制檔案就可以了。 1、控制檔案損壞,最典型的就是啟動資料庫出錯,不能mount資料庫
SQL>startup
ORA-00205: error in identifying controlfile, check alert log for more info
檢視報警日誌檔案,有如下資訊
alter database mount
Mon May 26 11:59:52 2003
ORA-00202: controlfile: 'D:Oracleoradatachencontrol01.ctl'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系統找不到指定的檔案。
2、停止資料庫
SQL>shutdown immediate
3、複製一個好的控制檔案替換壞的控制檔案或修改init.ora中的控制檔案引數,取消這個壞的控制檔案。
4、重新啟動資料
SQL>startup
說明:
1、損失單個控制檔案是比較簡單的,因為資料庫中所有的控制檔案都是鏡相的,只需要簡單的複製一個好的就可以了
2、建議鏡相控制檔案在不同的磁碟上
3、建議多做控制檔案的備份,長期保留一份由alter database backup control file to trace產生的控制檔案的文字備份
二、 損壞全部控制檔案
損壞多個控制檔案,或者人為的刪除了所有的控制檔案,透過控制檔案的複製已經不能解決問題,這個時候需要重新建立控制檔案。同時注意,alter database backup control file to trace可以產生一個控制檔案的文字備份。
以下是詳細重新建立控制檔案的步驟
1、關閉資料庫
SQL>shutdown immediate;
2、刪除所有控制檔案,模擬控制檔案的丟失
3、啟動資料庫,出現錯誤,並不能啟動到mount下
SQL>startup
ORA-00205: error in identifying controlfile, check alert log for more info
檢視報警日誌檔案,有如下資訊
alter database mount
Mon May 26 11:53:15 2003
ORA-00202: controlfile: 'D:Oracleoradatachencontrol01.ctl'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系統找不到指定的檔案。
4、關閉資料庫
SQL>shutdown immediate;
5、在internal或sys下執行如下建立控制檔案的指令碼,注意完整列出聯機日誌或資料檔案的路徑,或修改由alter database backup control file to trace備份控制檔案時產生的指令碼,去掉多餘的註釋即可。
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 254
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'D:ORACLEORADATATESTREDO01.LOG' SIZE 1M,
GROUP 2 'D:ORACLEORADATATESTREDO02.LOG' SIZE 1M,
GROUP 3 'D:ORACLEORADATATESTREDO03.LOG' SIZE 1M
DATAFILE
'D:ORACLEORADATATESTSYSTEM01.DBF',
'D:ORACLEORADATATESTRBS01.DBF',
'D:ORACLEORADATATESTUSERS01.DBF',
'D:ORACLEORADATATESTTEMP01.DBF',
'D:ORACLEORADATATESTTOOLS01.DBF',
'D:ORACLEORADATATESTINDX01.DBF'
CHARACTER SET ZHS16GBK;
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE
--if the last shutdown was not normal or immediate
--noarchive
-- RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE
--archive
-- RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
-- Database can now be opened normally.
ALTER DATABASE OPEN;
--if recover database until cancel
--ALTER DATABASE OPEN RESETLOGS;
6、如果沒有錯誤,資料庫將啟動到open狀態下。
說明:
1、重建控制檔案用於恢復全部控制檔案的損壞,需要注意其書寫的正確性,保證包含了所有的資料檔案與聯機日誌
2、經常有這樣一種情況,因為一個磁碟損壞,我們不能再恢復(store)資料檔案到這個磁碟,因此在store到另外一個盤的時候,我們就必須重新建立控制檔案,用於識別這個新的資料檔案,這裡也可以用這種方法用於恢復。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/64429/viewspace-915748/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 單個控制檔案損壞的恢復
- 某個控制檔案損壞的恢復案例
- 一次控制檔案損壞的恢復
- 恢復之單個控制檔案損壞
- 所有控制檔案損壞的恢復--resetlogs方式
- 所有控制檔案損壞的恢復--noresetlogs方式
- 線上日誌檔案損壞恢復方法
- 備份與恢復--重建控制檔案後資料檔案損壞的恢復
- 備份&恢復之十三:損壞全部控制檔案
- Oracle不同檔案丟失/損壞的恢復方法Oracle
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- u盤檔案損壞怎麼恢復資料 u盤恢復損壞資料的有效方法
- 一次控制檔案損壞後的恢復經歷
- 控制檔案損壞恢復(20100402)
- 備份&恢復之十二:損壞單個控制檔案
- SQL Server ldf 檔案損壞恢復SQLServer
- oracle控制檔案的損壞或完全丟失的恢復辦法Oracle
- 【BBED】 SYSTEM檔案頭損壞的恢復(4)
- 資料檔案丟失損壞的恢復--
- REDO檔案丟失或者損壞的恢復
- UNDO 表空間檔案損壞的恢復
- 控制檔案被破壞的資料庫恢復方法資料庫
- 聯機日誌檔案損壞後的恢復方法[轉帖]
- system表空間檔案損壞----完全恢復
- 資料庫檔案壞塊損壞導致開啟時報錯的恢復方法資料庫
- 單個控制檔案損壞的解決方法
- 【恢復】使用控制檔案的trace備份恢復因異常斷電導致所有控制檔案損壞的資料庫故障資料庫
- 介質恢復,即磁碟或作業系統檔案損壞的恢復-非RMAN方法作業系統
- 【備份與恢復】恢復受損的複用控制檔案
- rman 恢復---歸檔丟失and資料檔案損壞
- 控制檔案的恢復方法(一)
- 控制檔案的恢復方法(二)
- 控制檔案的恢復方法(三)
- 控制檔案的恢復方法(四)
- 一次日誌檔案損壞的恢復
- 磁碟損壞造成RMAN備份檔案有壞塊的恢復案例
- 某個資料檔案損壞完全恢復(三)
- 損壞聯機日誌的恢復方法