cp方式恢復控制檔案
使用cp方式恢復控制檔案並恢復資料庫,這是線上備份的方式。
--備份控制檔案到指定的路徑:
sys@PROD>alter database backup controlfile to '/home/oracle/control_bak.ctl';
Database altered.
--檢視生成的控制檔案備份:
sys@PROD>!ls /home/oracle/control_bak.ctl
/home/oracle/control_bak.ctl
--先只刪除一個控制檔案:
!rm /u01/app/oracle/oradata/PROD/control01.ctl
sys@PROD>!rm /u01/app/oracle/oradata/PROD/control01.ctl
sys@PROD>!ls /u01/app/oracle/oradata/PROD/control01.ctl
ls: /u01/app/oracle/oradata/PROD/control01.ctl: No such file or directory
sys@PROD>shutdown immediate;
--嘗試關庫:
Database closed.
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/app/oracle/oradata/PROD/control01.ctl'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
sys@PROD>
sys@PROD>
sys@PROD>shutdown abort;
ORACLE instance shut down.
--將備份的控制檔案複製到控制檔案原目錄:
!cp /home/oracle/control_bak.ctl /u01/app/oracle/oradata/PROD/control01.ctl
sys@PROD>!cp /home/oracle/control_bak.ctl /u01/app/oracle/oradata/PROD/control01.ctl
sys@PROD>!ls /u01/app/oracle/oradata/PROD/control01.ctl
/u01/app/oracle/oradata/PROD/control01.ctl
--資料庫啟動到mount模式:
sys@PROD>startup mount;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 507513936 bytes
Database Buffers 322961408 bytes
Redo Buffers 2371584 bytes
ORA-00214: control file '/u01/app/oracle/fast_recovery_area/PROD/control02.ctl'
version 1904 inconsistent with file
'/u01/app/oracle/oradata/PROD/control01.ctl' version 1901
#版本不一致。
--刪除其中一個控制檔案,從備份中複製一份:
sys@PROD>!rm /u01/app/oracle/fast_recovery_area/PROD/control02.ctl
sys@PROD>!cp /home/oracle/control_bak.ctl /u01/app/oracle/fast_recovery_area/PROD/control02.ctl
sys@PROD>!ls /u01/app/oracle/fast_recovery_area/PROD/control02.ctl
/u01/app/oracle/fast_recovery_area/PROD/control02.ctl
#這裡為了兩個控制檔案的版本一致性,刪除版本號大的日誌檔案,然後從備份中複製一份。
--關閉重啟例項到mount狀態:
sys@PROD>startup mount;
ORA-01081: cannot start already-running ORACLE - shut it down first
sys@PROD>shutdown abort;
ORACLE instance shut down.
sys@PROD>
sys@PROD>
sys@PROD>startup mount;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 507513936 bytes
Database Buffers 322961408 bytes
Redo Buffers 2371584 bytes
Database mounted.
sys@PROD>
--嘗試open資料庫:
sys@PROD>alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
sys@PROD>alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/app/oracle/oradata/PROD/system01.dbf'
sys@PROD>recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
--使用歸檔日誌恢復系統資料檔案:
sys@PROD>recover database using backup controlfile until cancel;
ORA-00279: change 1784270 generated at 11/07/2016 16:33:19 needed for thread 1
ORA-00289: suggestion :
/u01/app/FRA/PROD/archivelog/2016_11_07/o1_mf_1_1_%u_.arc
ORA-00280: change 1784270 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/app/oracle/oradata/PROD/system01.dbf'
ORA-01112: media recovery not started
#提示需要從日誌檔案恢復系統資料檔案。
--檢視當前的日誌組:
sys@PROD>select group#,status from v$log where status='CURRENT';
GROUP# STATUS
---------- ----------------
1 CURRENT
sys@PROD>recover database using backup controlfile until cancel;
ORA-00279: change 1784270 generated at 11/07/2016 16:33:19 needed for thread 1
ORA-00289: suggestion :
/u01/app/FRA/PROD/archivelog/2016_11_07/o1_mf_1_1_%u_.arc
ORA-00280: change 1784270 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/PROD/redo01.log #輸入第一組日誌檔案的絕對路徑#
Log applied.
Media recovery complete.
sys@PROD>
--再次嘗試開啟資料庫:
sys@PROD>alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
sys@PROD>alter database open RESETLOGS;
Database altered.
#成功開啟資料庫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2127991/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- 與控制檔案有關的恢復
- 與控制檔案有關的恢復(二)
- [20210225]控制檔案序列號滿的恢復.txt
- RAC控制檔案恢復(三種不同情況)
- u盤檔案變成快捷方式怎麼恢復,恢復U盤檔案的五種方法
- 同名檔案替換怎麼恢復,恢復同名檔案
- 【/proc/檔案淺析】另類辦法恢復資料檔案和控制檔案
- rman恢復控制檔案的一個小錯誤
- 檔案替換後怎麼恢復,恢復被覆蓋的檔案
- word怎麼恢復儲存前的檔案,word檔案恢復
- 檔案中勒索恢復
- word自動儲存的檔案怎麼恢復,word檔案恢復
- 剪下後的檔案可以恢復嗎?恢復剪下檔案怎麼辦?
- 剪下的檔案還能恢復嗎,恢復剪貼丟失的檔案
- eclipse 恢復誤刪檔案Eclipse
- 360粉碎檔案可以恢復嗎,如何恢復360強力刪除的檔案
- qq檔案失效怎麼恢復 qq已失效的檔案能不能恢復
- Linux恢復檔案雙手鐧Linux
- mysql 透過idb 恢復檔案MySql
- uninstall 後的檔案如何恢復
- 電腦檔案恢復軟體
- Git恢復刪除的檔案Git
- Oracle-無備份情況下,如何手動恢復控制檔案Oracle
- oracle控制檔案的損壞或完全丟失的恢復辦法Oracle
- U盤檔案被隱藏怎麼恢復 U盤檔案恢復隱藏的方法
- 行動硬碟刪除的檔案能恢復嗎,怎麼恢復硬碟刪除的檔案硬碟
- Oracle 檔案意外刪除恢復(Linux)OracleLinux
- cp: 無法建立普通檔案 : 檔案已存在
- 隨身碟檔案被隱藏怎麼恢復 隨身碟檔案恢復隱藏的方法
- XFS檔案系統的備份、恢復、修復
- Oracle為什麼使用備份的控制檔案恢復後一定要resetlogsOracle
- 【伺服器資料恢復】StorNext檔案系統資料恢復案例伺服器資料恢復
- ps檔案沒儲存怎麼恢復,一鍵恢復看這裡
- 資料恢復新姿勢——通過ibd和frm檔案恢復資料資料恢復
- 電腦檔案丟失資料恢復資料恢復
- Shift + Delete刪除的檔案如何恢復?delete
- 被誤刪的檔案快速恢復方法
- git恢復誤刪未提交的檔案Git