【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
備份控制檔案到指定目錄下的控制檔案恢復
1.備份當前控制檔案到指定目錄
SYS@ORA11GR2>alter database backup controlfile to '/home/oracle/control_bak.ctl';
Database altered.
——驗證:
SYS@ORA11GR2>!ls /home/oracle/
control_bak.ctl oradata
2.刪除所有控制檔案
SYS@ORA11GR2>show parameter control_files
NAME TYPE VALUE
------------------------------------ -----------
control_files string /u01/app/oracle/oradata/ORA11G
R2/control01.ctl, /u01/app/ora
cle/oradata/ORA11GR2/control02
.ctl
SYS@ORA11GR2>!ls /u01/app/oracle/oradata/ORA11GR2/*.ctl
/u01/app/oracle/oradata/ORA11GR2/control01.ctl /u01/app/oracle/oradata/ORA11GR2/control02.ctl
SYS@ORA11GR2>!rm /u01/app/oracle/oradata/ORA11GR2/*.ctl
SYS@ORA11GR2>!ls /u01/app/oracle/oradata/ORA11GR2/*.ctl
ls: /u01/app/oracle/oradata/ORA11GR2/*.ctl: No such file or directory
3.此時控制檔案已丟失,採用abort方式關閉資料庫
SYS@ORA11GR2>shutdown immediate;
Database closed.
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/app/oracle/oradata/ORA11GR2/control01.ctl'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
SYS@ORA11GR2>shutdown abort;
ORACLE instance shut down.
4.將備份的控制檔案複製到控制檔案原目錄
SYS@ORA11GR2>!cp /home/oracle/control_bak.ctl /u01/app/oracle/oradata/ORA11GR2/control02.ctl
SYS@ORA11GR2>!cp /home/oracle/control_bak.ctl /u01/app/oracle/oradata/ORA11GR2/control01.ctl
——驗證:
SYS@ORA11GR2>!ls /u01/app/oracle/oradata/ORA11GR2/*.ctl
/u01/app/oracle/oradata/ORA11GR2/control01.ctl /u01/app/oracle/oradata/ORA11GR2/control02.ctl
5.資料庫啟動到mount模式
SYS@ORA11GR2>startup mount;
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 503319672 bytes
Database Buffers 322961408 bytes
Redo Buffers 2392064 bytes
Database mounted.
6.嘗試open資料庫,提示使用RESETLOGS or NORESETLOGS選項
SYS@ORA11GR2>alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
7.使用resetlogs選項再次嘗試開啟資料庫,提示需要恢復1號資料檔案
SYS@ORA11GR2>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/ORA11GR2/system01.dbf'
8.我們直接recover database,提示使用BACKUP CONTROLFILE選項
SYS@ORA11GR2>recover database;(利用舊版控制檔案資訊去找備份時資料檔案,將其重置)
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
9.再次恢復資料庫,如果採用預設方式(直接“回車”)那麼提示無法獲取檔案狀態,恢復失敗
SYS@ORA11GR2>recover database using backup controlfile until cancel; (利用舊版控制檔案資訊去找備份時資料檔案,將其重置)
ORA-00279: change 1233421 generated at 10/02/2016 15:57:40 needed for thread 1
ORA-00289: suggestion :
/u01/app/FRA/ORA11GR2/archivelog/2016_10_02/o1_mf_1_2_%u_.arc
ORA-00280: change 1233421 for thread 1 is in sequence #2
Specify log: {=suggested | filename | AUTO | CANCEL}
ORA-00308: cannot open archived log
'/u01/app/FRA/ORA11GR2/archivelog/2016_10_02/o1_mf_1_2_%u_.arc'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
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/ORA11GR2/system01.dbf'
——解決:
10.指定當前redo路徑進行恢復,成功
SYS@ORA11GR2>select group#,status from v$log where status='CURRENT';
GROUP# STATUS
---------- ----------------
2 CURRENT
SYS@ORA11GR2>select group#,member from v$logfile where group#=2;
GROUP# MEMBER
----------------------------------------------------------------------------
2 /u01/app/oracle/oradata/ORA11GR2/redo02.log
SYS@ORA11GR2>recover database using backup controlfile until cancel;
應用當前正在用的日誌去恢復資料庫
ORA-00279: change 1233421 generated at 10/02/2016 15:57:40 needed for thread 1
ORA-00289: suggestion :
/u01/app/FRA/ORA11GR2/archivelog/2016_10_02/o1_mf_1_2_%u_.arc
ORA-00280: change 1233421 for thread 1 is in sequence #2
Specify log: {=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/ORA11GR2/redo02.log
Log applied.
Media recovery complete.
——再次以resetlogs方式啟動資料庫
SYS@ORA11GR2>alter database open resetlogs;
Database altered.
SYS@ORA11GR2>select status from v$instance;
STATUS
------------
OPEN
完成!!!!!!!!!!!!!!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2126545/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle-無備份情況下,如何手動恢復控制檔案Oracle
- XFS檔案系統的備份、恢復、修復
- 【RMAN】Oracle中如何備份控制檔案?備份控制檔案的方式有哪幾種?Oracle
- 12 使用RMAN備份和恢復檔案
- Oracle為什麼使用備份的控制檔案恢復後一定要resetlogsOracle
- 檔案的基本管理和XFS檔案系統備份恢復
- 與控制檔案有關的恢復
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- 從備份片中恢復某個指定得歸檔或者資料檔案
- Linux中XFS檔案系統的備份,恢復,修復Linux
- 與控制檔案有關的恢復(二)
- 如何從Active Backup for Business備份中恢復檔案
- 如何備份及恢復Linux檔案許可權Linux
- 【備份】RMAN中對控制檔案的幾種備份方法
- 實戰:xfs檔案系統的備份和恢復
- [20210225]控制檔案序列號滿的恢復.txt
- oracle 控制檔案及引數檔案何時自動備份Oracle
- 【/proc/檔案淺析】另類辦法恢復資料檔案和控制檔案
- RAC控制檔案恢復(三種不同情況)
- rman恢復控制檔案的一個小錯誤
- RMAN備份恢復典型案例——資料檔案存在壞快
- 利用innobackupex備份集恢復指定庫
- 工具推薦:開源免費的檔案備份恢復工具:Kopia
- 2.6.4 指定控制檔案
- 同名檔案替換怎麼恢復,恢復同名檔案
- word怎麼恢復儲存前的檔案,word檔案恢復
- 檔案替換後怎麼恢復,恢復被覆蓋的檔案
- RAC備份恢復之Voting備份與恢復
- sql檔案備份SQL
- 怎樣恢復Mac檔案及資料夾資料?BackupLoupe for mac(資料恢復備份助手)3.5.4Mac資料恢復
- 剪下後的檔案可以恢復嗎?恢復剪下檔案怎麼辦?
- word自動儲存的檔案怎麼恢復,word檔案恢復
- oracle控制檔案的損壞或完全丟失的恢復辦法Oracle
- 剪下的檔案還能恢復嗎,恢復剪貼丟失的檔案
- 檔案中勒索恢復
- 讀資料保護:工作負載的可恢復性04備份與檔案負載
- [重慶思莊每日技術分享]-控制檔案自動備份
- dg丟失歸檔,使用rman增量備份恢復