ORACLE非歸檔下的恢復
1, 引數檔案丟失
1) 資料庫是用spfile啟動的情況下,init.ora丟失,不會對資料庫的啟動產生任何影響,不過為了安全考慮,應該重新建立init.ora,作為spfile的備份。
create pfile = 'D:oracleadminmyoracle
[@more@]一
2) 資料庫用spfile啟動的情況下,spfile檔案丟失
a, 存在init.ora引數檔案的備份,可以用pfile直接啟動,也可以用pfile建立spfile,然後用spfile啟動
直接用pfile啟動
startup pfile=’ D:oracleadminmyoraclepfileinit.ora’
重新建立spfile,用spfile啟動
create spfile from pfile=’ D:oracleadminmyoraclepfileinit.ora’
startup
b, 沒有init備份的情況下,可以從其他資料庫複製一個init.ora的備份,修改相關引數即可。修改的恢復方法就和存在init.ora引數檔案的備份的spfile丟失的恢復方法一致了。
3) 資料庫是用pfile啟動的情況下,init.ora丟失
SQL> startup pfile='d:oracleadminmyoraclepfileinit.ora'
LRM-00109: 無法開啟引數檔案 'd:oracleadminmyoraclepfileinit.ora'
ORA-01078: 處理系統引數失敗
a, 如果存在init.ora的備份,拷備到相關目錄下即可(例項的啟動引數目錄)
b, 如果不存在init.ora的備份可以從其他資料庫複製一個init.ora的備份,修改相關引數即可。
2, 引數檔案設定出錯
如果資料庫的spfile(用spfile啟動)或pfile(用pfile啟動),裡面的引數設定出錯。主要是pfile的引數,因為如果使用spfile的話,設定引數的時候都會有存在一個有效性的檢查,一般不會出現引數設定出錯的問題。資料庫會給出相關的錯誤提示,告訴你是哪個引數設定的有問題,只要修改相關引數後重新啟動資料庫即可。
3, 控制檔案損壞或丟失
a, 單一控制檔案損壞或丟失。一般來說控制檔案都會存在映象的,如果單一控制檔案損壞資料庫會報以下錯誤:
SQL> startup nomount force
ORACLE instance started.
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL> alter database mount ;
alter database mount
*
ERROR at line 1:
ORA-00205: error in identifying controlfile, check alert log for more info
這個時候我們檢查alert log檔案,會發現以下錯誤
ORA-00202: controlfile: 'D:oracleoradatamyoracleCONTROL01.CTL'
ORA-27047: unable to read the header block of file
OSD-04006: ReadFile() 失敗, 無法讀取檔案
O/S-Error: (OS 38) 到達檔案結尾。
由此可以知道control01檔案已經損壞。由於一般來說控制檔案存在映象,只要我們將其他完好的控制檔案拷備一份覆蓋損壞或丟失的控制檔案即可。也可以在初始化引數control_files中的相應的損壞的控制檔案刪除即可。
b,全部控制檔案損壞或者丟失
1,存在控制檔案的備份,將備份的控制檔案按照初始化引數的配置來設定。然後進行控制檔案的恢復。
Startup nomount;
Revocer database using backup controlfile;
然後選擇相應的日誌檔案進行恢復
最後必須要以resetlogs的方式開啟資料庫
alter database open resetlogs;
2,不存在控制檔案的備份。這種情況下只能重建控制檔案。
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "MYORACLE" NORESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'D:ORACLEORADATAMYORACLEREDO01.LOG' SIZE 100M,
GROUP 2 'D:ORACLEORADATAMYORACLEREDO02.LOG' SIZE 100M,
GROUP 3 'D:ORACLEORADATAMYORACLEREDO03.LOG' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'D:ORACLEORADATAMYORACLESYSTEM01.DBF',
'D:ORACLEORADATAMYORACLEUNDOTBS01.DBF',
'D:ORACLEORADATAMYORACLECWMLITE01.DBF',
'D:ORACLEORADATAMYORACLEDRSYS01.DBF',
'D:ORACLEORADATAMYORACLEEXAMPLE01.DBF',
'D:ORACLEORADATAMYORACLEINDX01.DBF',
'D:ORACLEORADATAMYORACLEODM01.DBF',
'D:ORACLEORADATAMYORACLETOOLS01.DBF',
'D:ORACLEORADATAMYORACLEUSERS01.DBF',
'D:ORACLEORADATAMYORACLEXDB01.DBF',
'D:ORACLEORADATAMYORACLESUNWG.DBF',
'D:ORACLEORADATAMYORACLEXT_YJYY.DBF',
'D:ORACLEORADATAMYORACLEXT_DD.DBF'
CHARACTER SET ZHS16GBK
;
ALTER DATABASE OPEN;;
4, 日誌檔案
a, 非當前日誌
alter database clear logfile group 1;
b, 當前日誌
recover database until cancel;
alter database open resetlogs;
c, 回滾段有未提交的事務
_allow_resetlogs_corruption = true
5, 資料檔案
a, 如果存在備份的話,可以將所有的備份檔案複製回來,開啟即可
b, 如果沒有備份檔案,只能將該資料檔案刪掉
alter database datafile ‘e:ttt.dbf’ offline drop;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8394333/viewspace-987146/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 恢復之非歸檔模式下的恢復模式
- oracle RMAN 非歸檔資料庫恢復Oracle資料庫
- 非歸檔模式下非當前日誌檔案的丟失的恢復模式
- 備份&恢復之四:非歸檔模式下的備份與恢復模式
- 非歸檔模式下恢復資料庫兩例模式資料庫
- 非歸檔無備份下控制檔案丟失的恢復
- 【備份恢復】非歸檔模式下丟失任意資料檔案 恢復操作模式
- 非歸檔模式恢復資料庫模式資料庫
- rman 非歸檔模式下停庫備份與恢復模式
- 非歸檔丟失日誌檔案的恢復
- 恢復案例:歸檔模式下丟失非系統表空間資料檔案的恢復模式
- 基於非歸檔的冷備份恢復
- rman 非歸檔模式下open庫備份與mount恢復模式
- 恢復之非歸檔模式下資料庫非正常關閉的備份與恢復模式資料庫
- oracle 歸檔/非歸檔Oracle
- 非歸檔模式下,丟失日誌檔案的一次恢復過程模式
- 恢復案例:歸檔模式下丟失全部資料檔案的恢復模式
- 非歸檔模式下線上日誌檔案破壞後例項恢復案例模式
- Oracle控制檔案在缺失歸檔日誌的情況下的恢復Oracle
- 【BBED】丟失歸檔檔案情況下的恢復
- Oracle 歸檔與非歸檔模式的更改Oracle模式
- oracle基於歸檔的增量異地恢復Oracle
- 非歸檔模式下恢復利用offline drop命令誤刪除的資料檔案模式
- 歸檔模式下資料檔案丟失的恢復模式
- REDO日誌損壞,非歸檔模式資料檔案恢復模式
- ORACLE RAC模式下歸檔模式和非歸檔模式的切換方法Oracle模式
- Oracle歸檔模式和非歸檔模式Oracle模式
- oracle dg 歸檔日誌恢復情況Oracle
- 非歸檔庫誤刪表空間後的資料恢復資料恢復
- 在歸檔下恢復系統資料檔案
- 歸檔模式下四種完全恢復的場景模式
- [裝載]oracle 無歸檔的不完全恢復Oracle
- 在歸檔模式下丟失日誌檔案的恢復模式
- Oracle RAC 歸檔與非歸檔切換Oracle
- Oracle歸檔模式和非歸檔模式的區別Oracle模式
- Oracle BBED 跳過歸檔實現完全恢復Oracle
- Oracle RAC Standby 恢復歸檔numuber錯亂Oracle
- Oracle使用備份檔案集恢復歸檔日誌Oracle