一次Oracle資料庫恢復過程
2月24日下午3點,一個同事一不小心誤刪除了一個重要的業務資料表。該表大概有140萬記錄,儲存著近三年的銷售資料。幸好有前一天的備份,而且當天沒有業務發生,也就是說恢復前一天的資料就可以了。不過平時的備份是透過冷備份,copy所有的資料檔案、控制檔案和重做日誌檔案,這樣就決定了無法單獨恢復一個表,只能全資料庫的恢復。無奈,為了不影響業務系統的執行,只好在另外一臺PC機上安裝了一個與伺服器完全相同的環境,Win2000+Oracle8.1.7。然後copy所有的備份檔案,按道理這樣就可以在PC機上恢復出前一天的資料了。可是無法開啟資料庫,提示ora-01991錯誤,幸好以前遇到過這個現象,這是密碼檔案的問題。先把位於d:/oracle/ora81/database/PWDora8.ORA的檔案刪除,然後在命令列模式中輸入
ORAPWD FILE=d:/oracle/ora81/DATABASE/PWDora8.ORA PASSWORD=ORACLE ENTRIES=10,重新建立密碼檔案。以前出現這種問題,作以上處理後再recover就好了,可這次不行了,recover後提示:
ora-00283: recovery session canceled due to errors
ora-01190: controlfile or data file 1 is from before the last RESETLOGS
ora-01110: data file 1: 'd:/oracle/oradata/ora8/users01.dbf'
第一感覺是users01.dbf出問題了,試著將它offline了,又提示其他的檔案,一個一個都offline了,再試著alter database open成功了。這下我感覺有戲了,說明資料庫的系統檔案沒壞,但這樣的資料庫還是不行操作呀!怎麼辦呢?難道備份真的檔案有問題?思考了一會,眼前一亮,我發覺可能是控制檔案的問題。馬上重建控制檔案,alter database backup controlfile to trace備份當前控制檔案到資料庫跟蹤檔案中到d:/oracle/admin/ora8/udump中。把檔案中的內容
CREATE CONTROLFILE REUSE DATABASE "ORA8" NORESETLOGS ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 254
MAXINSTANCES 1
MAXLOGHISTORY 27372
LOGFILE
GROUP 1 'D:/ORACLE/ORADATA/ORA8/REDO01.LOG' SIZE 1M,
GROUP 2 'D:/ORACLE/ORADATA/ORA8/REDO02.LOG' SIZE 1M,
GROUP 3 'D:/ORACLE/ORADATA/ORA8/REDO03.LOG' SIZE 1M
DATAFILE
'D:/ORACLE/ORADATA/ORA8/SYSTEM01.DBF',
'D:/ORACLE/ORADATA/ORA8/RBS01.DBF',
'D:/ORACLE/ORADATA/ORA8/USERS01.DBF',
'D:/ORACLE/ORADATA/ORA8/TEMP01.DBF',
'D:/ORACLE/ORADATA/ORA8/TOOLS01.DBF',
'D:/ORACLE/ORADATA/ORA8/INDX01.DBF',
'D:/ORACLE/ORADATA/ORA8/USERS02.DBF',
'D:/ORACLE/ORADATA/ORA8/USERS03.ORA',
'D:/ORACLE/ORADATA/ORA8/USERS04.DBF',
'D:/ORACLE/ORADATA/ORA8/USERS05.DBF',
'D:/ORACLE/ORADATA/ORA8/USERS06.DBF',
'D:/ORACLE/ORADATA/ORA8/USERS07.DBF',
'D:/ORACLE/ORADATA/ORA8/USERS08.ORA',
'D:/ORACLE/ORADATA/ORA8/USERS09.ORA',
'D:/ORACLE/ORADATA/ORA8/USERS10.ORA'
CHARACTER SET ZHS16GBK
copy出來,存為c.sql,執行svrmgrl,
>connect internal
>shutdown
>startup mount
>@c.sql
顯示成功,recover,提示需要歸檔日誌檔案,幸好資料庫執行在歸檔模式下,按照提示提供相應的歸檔日誌,經過7、8次的提示,終於顯示恢復成功。Alter database open成功!屋子裡一片歡呼,經過近兩個小時,資料庫終於恢復了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18966/viewspace-790934/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫的一次資料恢復過程資料庫資料恢復
- 資料庫恢復過程資料庫
- 一次客戶資料庫恢復的過程資料庫
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- DUL恢復資料庫過程資料庫
- 一次客戶資料庫恢復的過程 [轉]資料庫
- 【資料庫資料恢復】透過資料頁恢復Sql Server資料庫資料的過程資料庫資料恢復SQLServer
- Oracle 業務資料unload恢復過程Oracle
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- low cache rba,on disk rba資料庫恢復過程資料庫
- OS 刪除oracle資料檔案恢復過程Oracle
- 儲存崩潰資料恢復過程;資料恢復案例資料恢復
- 一次物理刪除資料檔案的恢復過程
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- 歸檔模式下資料庫全恢復的過程模式資料庫
- 一次無備份、非歸檔資料庫斷電恢復的全過程資料庫
- oracle goldengate 恢復過程OracleGo
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】oracle資料庫誤truncate table怎麼恢復資料?資料庫資料恢復Oracle
- 【資料庫資料恢復】誤truncate table的Oracle資料庫資料恢復方案資料庫資料恢復Oracle
- 一次特殊的資料庫恢復資料庫
- vsan儲存資料恢復過程—虛擬機器故障恢復過程資料恢復虛擬機
- 通過duplicat恢復資料庫資料庫
- 伺服器資料恢復—透過拼接資料庫碎片恢復SqlServer資料庫資料的資料恢復案例伺服器資料恢復資料庫SQLServer
- 資料恢復記錄:硬碟分割槽損壞修復SqlServer資料庫過程資料恢復硬碟SQLServer資料庫
- ORACLE中採用rman備份異機恢復資料庫詳細過程Oracle資料庫
- 【資料庫資料恢復】Oracle資料庫ASM磁碟組掉線如何恢復資料?資料庫資料恢復OracleASM
- 只存在RMAN備份片的資料庫恢復過程資料庫
- 【RMAN】資料庫到恢復目錄的註冊過程資料庫
- 一次無備份、非歸檔資料庫斷電恢復的全過程 [轉]資料庫
- Oracle異地資料庫恢復Oracle資料庫
- Oracle資料庫終極恢復Oracle資料庫
- nbu恢復oracle資料庫案例Oracle資料庫
- oracle之rman恢復資料庫Oracle資料庫
- ORACLE資料庫恢復技術Oracle資料庫
- 記一次 oracle 資料庫在當機後的恢復Oracle資料庫
- 伺服器資料恢復過程(伺服器資料恢復通用方法)伺服器資料恢復
- 伺服器RAID資料恢復,磁碟陣列資料恢復過程伺服器AI資料恢復陣列