Oracle 11g 資料庫恢復-場景1:所有的資料檔案損壞,OPEN狀態
--檢視資料檔案 sys@TESTDB11>select name from v$datafile;
NAME -------------------------------------------------- /u01/app/oracle/oradata/TestDB11/system01.dbf /u01/app/oracle/oradata/TestDB11/sysaux01.dbf /u01/app/oracle/oradata/TestDB11/undotbs01.dbf /u01/app/oracle/oradata/TestDB11/users01.dbf /u01/app/oracle/oradata/TestDB11/example01.dbf /u01/app/oracle/oradata/TestDB11/rotbs01.dbf
6 rows selected.
--1. 刪除所有的資料檔案 [oracle@S1011:/backup/inconsistent_backup]$ cd /u01/app/oracle/oradata/TestDB11/ [oracle@S1011:/u01/app/oracle/oradata/TestDB11]$ ls control01.ctl example01.dbf redo01.log redo02.log redo03.log rotbs01.dbf sysaux01.dbf system01.dbf temp01.dbf undotbs01.dbf users01.dbf [oracle@S1011:/u01/app/oracle/oradata/TestDB11]$ rm *.dbf [oracle@S1011:/u01/app/oracle/oradata/TestDB11]$ ls control01.ctl redo01.log redo02.log redo03.log --2. 資料庫處於OPEN狀態 sys@TESTDB11>select status from v$instance;
STATUS ------------ OPEN --3. 此時正常關庫是關不了的,只能shutdown abort了 sys@TESTDB11>startup force ORACLE instance started.
Total System Global Area 855982080 bytes Fixed Size 2230792 bytes Variable Size 641730040 bytes Database Buffers 209715200 bytes Redo Buffers 2306048 bytes Database mounted. ORA-01157: cannot identify/lock data file 1 - see DBWR trace file ORA-01110: data file 1: '/u01/app/oracle/oradata/TestDB11/system01.dbf' --4.檢視錯誤資訊 sys@TESTDB11>col error for a15 sys@TESTDB11>select * from v$recover_file;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME ---------- ------- ------- --------------- ---------- --------- 1 ONLINE ONLINE FILE NOT FOUND 0 2 ONLINE ONLINE FILE NOT FOUND 0 3 ONLINE ONLINE FILE NOT FOUND 0 4 ONLINE ONLINE FILE NOT FOUND 0 5 ONLINE ONLINE FILE NOT FOUND 0 6 ONLINE ONLINE FILE NOT FOUND 0
6 rows selected.
--檢視資料檔案頭資訊, 因為檔案都已經被刪除,所以顯示的均為0 sys@TESTDB11>col name for a15 sys@TESTDB11>select name, checkpoint_change# from v$datafile_header;
NAME CHECKPOINT_CHANGE# --------------- ------------------ 0 0 0 0 0 0
6 rows selected.
--從非一致備份進行檔案的還原 oracle@S1011:/pooldisk02/backup01/inconsistent]$ cp *.dbf /u01/app/oracle/oradata/TestDB11/
--再次檢視錯誤的資訊,檢查點都不一致(因為當時做的是熱備份) sys@TESTDB11>select * from v$recover_file;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME ---------- ------- ------- --------------- ---------- --------- 1 ONLINE ONLINE 2654775 09-AUG-13 2 ONLINE ONLINE 2654801 09-AUG-13 3 ONLINE ONLINE 2654893 09-AUG-13 4 ONLINE ONLINE 2654911 09-AUG-13 5 ONLINE ONLINE 2654924 09-AUG-13 6 ONLINE ONLINE 2654946 09-AUG-13
6 rows selected.
--此時開庫 sys@TESTDB11>alter database open; alter database open * ERROR at line 1: ORA-01113: file 1 needs media recovery ORA-01110: data file 1: '/u01/app/oracle/oradata/TestDB11/system01.dbf'
--執行完全恢復 sys@TESTDB11>recover database; ORA-00279: change 2654775 generated at 08/09/2013 21:25:44 needed for thread 1 ORA-00289: suggestion : /archive2/1_98_813665348.dbf ORA-00280: change 2654775 for thread 1 is in sequence #98
Specify log: {<RET>=suggested | filename | AUTO | CANCEL} auto ORA-00279: change 2660981 generated at 08/09/2013 22:19:48 needed for thread 1 ORA-00289: suggestion : /archive2/1_99_813665348.dbf ORA-00280: change 2660981 for thread 1 is in sequence #99
auto Log applied. Media recovery complete.
--恢復完檢視效果,檢查點都恢復到一致的狀態 sys@TESTDB11>col name for a60 sys@TESTDB11>select name, checkpoint_change# from v$datafile;
NAME CHECKPOINT_CHANGE# ------------------------------------------------------------ ------------------ /u01/app/oracle/oradata/TestDB11/system01.dbf 2725648 /u01/app/oracle/oradata/TestDB11/sysaux01.dbf 2725648 /u01/app/oracle/oradata/TestDB11/undotbs01.dbf 2725648 /u01/app/oracle/oradata/TestDB11/users01.dbf 2725648 /u01/app/oracle/oradata/TestDB11/example01.dbf 2725648 /u01/app/oracle/oradata/TestDB11/rotbs01.dbf 2725648
6 rows selected.
sys@TESTDB11>select name, checkpoint_change# from v$datafile_header;
NAME CHECKPOINT_CHANGE# ------------------------------------------------------------ ------------------ /u01/app/oracle/oradata/TestDB11/system01.dbf 2725648 /u01/app/oracle/oradata/TestDB11/sysaux01.dbf 2725648 /u01/app/oracle/oradata/TestDB11/undotbs01.dbf 2725648 /u01/app/oracle/oradata/TestDB11/users01.dbf 2725648 /u01/app/oracle/oradata/TestDB11/example01.dbf 2725648 /u01/app/oracle/oradata/TestDB11/rotbs01.dbf 2725648
6 rows selected.
--此時可以進行正常的開庫 sys@TESTDB11>alter database open;
Database altered. |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1151906/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11g RMAN恢復-場景2:所有的資料檔案損壞,OPEN狀態Oracle
- Oracle 11g RMAN恢復-場景1:所有的資料檔案損壞,資料庫CLOSEOracle資料庫
- Oracle 11g 資料庫恢復-場景2:所有據檔案損壞,關庫狀態Oracle資料庫
- Oracle 11g 資料庫恢復-場景5:部分檔案損壞恢復,開庫狀態,低可用恢復方式Oracle資料庫
- Oracle 11g 資料庫恢復-場景4:部分檔案損壞恢復,開庫狀態, 高可用恢復方式Oracle資料庫
- Oracle 11g 資料庫恢復-場景7:部分檔案損壞Oracle資料庫
- Oracle 11g RMAN恢復-場景3:非系統表空間資料檔案損壞,資料庫OPEN狀態,高可用Oracle資料庫
- Oralce 11g資料庫恢復-場景3:部分檔案損壞恢復,關庫狀態,高可用恢復方式資料庫
- Oracle 11g 資料庫恢復-場景8:系統預設undo表空間資料檔案損壞,CLOSE狀態Oracle資料庫
- Oracle 11g資料庫恢復:場景11:資料檔案損壞,不能恢復到原來的位置, 恢復到新的路徑Oracle資料庫
- Oracle 11g 資料庫恢復:場景9-系統預設undo表空間資料檔案損壞Oracle資料庫
- 【資料庫資料恢復】MongoDB資料庫檔案損壞的資料恢復案例資料庫資料恢復MongoDB
- [ORACLE] 系統故障資料庫恢復--資料檔案無損壞Oracle資料庫
- Oracle資料檔案損壞恢復例項二則Oracle
- Oracle資料庫UNDO損壞後的恢復Oracle資料庫
- u盤檔案損壞怎麼恢復資料 u盤恢復損壞資料的有效方法
- 資料檔案丟失損壞的恢復--
- 在open狀態下恢復丟失的資料檔案
- 【資料庫資料恢復】Oracle資料庫檔案出現壞塊報錯的資料恢復案例資料庫資料恢復Oracle
- 資料庫資料恢復—NTFS分割槽損壞如何恢復SqlServer資料庫資料資料庫資料恢復SQLServer
- Oracle 11g 資料庫恢復:場景12續:將資料檔案恢復回原來正確的位置Oracle資料庫
- rman 恢復---歸檔丟失and資料檔案損壞
- 某個資料檔案損壞完全恢復(三)
- Oracle資料庫恢復:歸檔日誌損壞案例一則Oracle資料庫
- 在open狀態下恢復未備份的資料檔案
- u盤檔案損壞怎麼恢復資料 u盤損壞無法讀取怎麼恢復資料
- 資料庫資料恢復-SQL SERVER資料庫MDF (NDF)或LDF損壞如何恢復資料?資料庫資料恢復SQLServer
- 備份與恢復--重建控制檔案後資料檔案損壞的恢復
- 案例:在open狀態下恢復未備份的資料檔案
- InterBase資料庫檔案損壞的修復方法資料庫
- System File1 File Header(資料庫System檔案1檔案頭)損壞情況的恢復Header資料庫
- 資料庫檔案壞塊損壞導致開啟時報錯的恢復方法資料庫
- REDO日誌損壞,非歸檔模式資料檔案恢復模式
- master資料庫損壞之後的恢復AST資料庫
- 使用RMAN恢復完全損壞的資料庫資料庫
- Oracle資料庫不同損壞級別的恢復詳解Oracle資料庫
- 非系統資料檔案損壞,rman備份恢復
- 磁碟損壞導致資料檔案丟失的恢復