探索ORACLE之RMAN_07 控制檔案丟失恢復
探索ORACLE之RMAN_07 控制檔案丟失恢復
作者:吳偉龍 Name:Prodence Woo
QQ:286507175 msn:hapy-wuweilong@hotmail.com
1、 控制檔案(control file)丟失恢復
基於控制檔案的複合多路徑性,它的丟失分為兩種,一種是其中某個控制檔案的損壞或丟失,另外一種是所有控制檔案均丟失。基於第一種情況,只需把好的控制檔案複製一份在損壞或丟失的那個控制檔案路徑下即可。第二種情況下則需要透過備份資訊來對控制檔案進行恢復或手工重建控制檔案。
丟失單一控制檔案的判斷及恢復。
資料庫無法正常關閉,因為在關閉的時候必須向控制檔案中更新scn號
SQL> shutdown immediate
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/DBData/oradata/WWL/control02.ctl'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
必須強制關閉資料庫
SQL> shutdown abort;
ORACLE instance shut down.
啟動資料庫報控制檔案驗證失敗,檢查告警日誌檔案
SQL> startup
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218968 bytes
Variable Size 104859240 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
ORA-00205: error in identifying control file, check alert log for more info
檢視告警日誌,報提示找不到controlfile2
Fri Jun 22 11:54:26 2012
Errors in file /DBSoft/admin/WWL/udump/wwl_ora_4816.trc:
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/DBData/oradata/WWL/control02.ctl'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
從上面的資訊我們可以得出是由於控制檔案丟失導致了資料庫無法正常的啟動和關閉,下面我們要做的就是對控制檔案進行做恢復,因為我們知道控制檔案具有重複多路徑屬性,預設會有三個控制檔案。現在日誌中看到的是控制檔案2丟失,找不到,我們可以透過控制檔案1和3來恢復2。
4.1 基於正常控制檔案恢復損壞的控制檔案
1、檢視控制檔案存在路徑
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /DBSoft/oradata/WWL/control01.ctl, /DBData/oradata/WWL/control02.ctl, /DBData/oradata/WWL/control03.ctl
SQL>
我們可以從如上看到,該套資料庫存在三個控制檔案其中一個控制檔案存放在/DBSoft目中中的oradata/wwl/目錄下,另外兩個控制檔案存在/DBData目錄中的/oradata/wwl/的目錄下,從上面剛才的資訊中我們可以得之是control02.ctl控制檔案丟失導致資料庫故障。
2、檢查下控制檔案是不存在還是損壞了
[oracle@wwldb WWL]$ cd /DBData/oradata/WWL/
[oracle@wwldb WWL]$ ll
total 0
[oracle@wwldb WWL]$
怪了,這個目錄怎麼一個控制檔案都沒有了呀,看看控制檔案一是否存在。
[oracle@wwldb WWL]$ cd /DBSoft/oradata/WWL/
[oracle@wwldb WWL]$ ls
control01.ctl
非常萬幸,controlfile1還是存在的,這樣我們就可以透過controlfile1來恢復controlfile2和3了。
3、關閉資料庫
SQL> shutdown abort
ORACLE instance shut down.
SQL>
4、恢復損壞丟失的控制檔案
[oracle@wwldb WWL]$ ls
control01.ctl
[oracle@wwldb WWL]$ pwd
/DBSoft/oradata/WWL
[oracle@wwldb WWL]$ ls
control01.ctl
[oracle@wwldb WWL]$ cp control01.ctl /DBData/oradata/WWL/control02.ctl
[oracle@wwldb WWL]$ cp control01.ctl /DBData/oradata/WWL/control03.ctl
[oracle@wwldb WWL]$ ll /DBData/oradata/WWL/
total 13792
-rw-r----- 1 oracle oinstall 7061504 Jun 22 12:51 control02.ctl
-rw-r----- 1 oracle oinstall 7061504 Jun 22 12:51 control03.ctl
[oracle@wwldb WWL]$
2、 啟動資料庫
SQL> startup
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218968 bytes
Variable Size 104859240 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
SQL>
4.2 所有控制檔案全部丟失。
丟失單一控制檔案的判斷及恢復。
資料庫無法正常關閉,因為在關閉的時候必須向控制檔案中更新scn號
SQL> shutdown immediate
ORA-00210: cannot open the specified control file
ORA-00202: control file: ' /DBSoft/oradata/WWL/control01.ctl'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
必須強制關閉資料庫
SQL> shutdown abort;
ORACLE instance shut down.
啟動資料庫報控制檔案驗證失敗,檢查告警日誌檔案
SQL> startup
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218968 bytes
Variable Size 104859240 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
ORA-00205: error in identifying control file, check alert log for more info
檢視告警日誌,報提示找不到controlfile1
Fri Jun 22 13:16:07 2012
Errors in file /DBSoft/admin/WWL/udump/wwl_ora_5104.trc:
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/DBSoft/oradata/WWL/control01.ctl'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
透過RMAN來進行控制檔案的恢復:
1、 強制啟動資料庫到nomount狀態
SQL> startup force nomount;
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218968 bytes
Variable Size 109053544 bytes
Database Buffers 167772160 bytes
Redo Buffers 7168000 bytes
SQL> exit
2、 執行restore控制檔案恢復
RMAN>restore controlfile;
3、 開啟資料庫
SQL>alter database mount;
Database altered.
SQL>alter database open;
Database altered.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20674423/viewspace-733617/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 探索ORACLE之RMAN_07 磁碟損壞資料丟失恢復Oracle
- 控制檔案丟失恢復
- 【控制檔案丟失恢復】
- 控制檔案丟失恢復(二)
- 恢復丟失的控制檔案
- 控制檔案全部丟失恢復
- 【備份恢復】 丟失一個控制檔案 之恢復操作
- 控制檔案全部丟失的恢復
- 控制檔案部分丟失的恢復
- 控制檔案丟失的RMAN恢復
- 恢復之丟失全部控制檔案以及備份中的控制檔案
- 當前控制檔案全部丟失恢復
- Oracle Password檔案丟失的恢復Oracle
- 模擬控制檔案丟失進行恢復。
- 恢復案例:無歸檔,掉電,控制檔案全部丟失恢復
- Oracle 各種檔案丟失的恢復Oracle
- 恢復案例:無歸檔,丟失全部控制檔案、日誌檔案恢復案例
- 全部控制檔案丟失後的完全恢復(轉)
- oracle丟失日誌檔案的恢復( 轉)Oracle
- Oracle備份與恢復【丟失控制檔案的恢復】Oracle
- 備份恢復之資料檔案丟失
- RMAN恢復案例:無恢復目錄,丟失全部資料檔案、控制檔案、日誌檔案恢復
- Oracle備份與恢復【丟失資料檔案的恢復】Oracle
- oracle rman之丟失spfile恢復Oracle
- oracle控制檔案的損壞或完全丟失的恢復辦法Oracle
- 引數檔案控制檔案和資料檔案丟失的恢復
- 丟失一個控制檔案並恢復資料庫資料庫
- 只有rman備份集,控制檔案丟失的恢復
- 備份恢復實驗(1)丟失部分控制檔案
- rman恢復--丟失控制檔案的恢復
- 控制檔案丟失恢復例項(3) - 使用重建控制檔案方式(noresetlogs)
- 【恢復】Redo日誌檔案丟失的恢復
- Oracle不同檔案丟失/損壞的恢復方法Oracle
- 完全恢復之所有資料庫檔案丟失資料庫
- 非歸檔無備份下控制檔案丟失的恢復
- Oracle恢復例項之一:資料檔案、控制檔案、聯機日誌丟失Oracle
- 【備份恢復】所有控制檔案丟失後 利用trace中的控制檔案備份執行恢復
- rman恢復:資料檔案丟失,控制檔案丟失,聯機日誌檔案丟失(非當前使用與當前使用)