小記基於控制檔案的scn不完全恢復
問題現象:
日誌中報錯:
問題分析:
做完recover database正要起庫,發現data file 1需要恢復,那麼這個時候就應該要想到需要做不完全恢復了。那麼不完全恢復自然有四種,基於時間(time)恢復
基於取消(cancel)恢復
基於SCN(change)恢復
基於備份控制檔案(unsing backup controlfile)的恢復,那麼接下來我們需要了解下,用那種方式最合適了。
檢視scn資訊:
檢視資料檔案頭部的scn資訊:
檢視控制檔案中記錄的scn頭部資訊:
在這裡我們可以很清楚的看到控制檔案中記錄的scn資訊比資料檔案頭部記錄的scn資訊更新,且所有資料檔案頭部資訊是一致的,由此可以快速得出,我們將資料庫恢復到資料檔案的scn這樣資料庫就可以開啟了。
做基於檔案頭部的scn恢復:
提示需要使用控制檔案來做基於scn的恢復。
使用控制檔案來做基於scn的恢復:
恢復完成之後,執行open resetlogs:
檢查:
總結:必須保證資料檔案頭部的scn和控制檔案中的scn資訊保持一致,資料庫才能開啟,那麼正常恢復將遵循就近,就小來恢復。
-
SQL> 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: '/DBSoft/oracle/oradata/woo/system01.dbf'
日誌中報錯:
-
alter database open
-
Errors in file /DBSoft/oracle/diag/rdbms/woo/woo/trace/woo_ora_24956.trc:
-
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
-
ORA-1589 signalled during: alter database open...
-
Sun Dec 24 05:44:45 2017
-
Signalling error 1152 for datafile
-
Signalling error 1152 for datafile
-
Signalling error 1152 for datafile
-
Signalling error 1152 for datafile
-
Signalling error 1152 for datafile
-
Checker run found 5 new persistent data failures
-
Sun Dec 24 05:44:51 2017
-
alter database open resetlogs
-
Signalling error 1152 for datafile
- ORA-1152 signalled during: alter database open resetlogs...
問題分析:
做完recover database正要起庫,發現data file 1需要恢復,那麼這個時候就應該要想到需要做不完全恢復了。那麼不完全恢復自然有四種,基於時間(time)恢復
基於取消(cancel)恢復
基於SCN(change)恢復
基於備份控制檔案(unsing backup controlfile)的恢復,那麼接下來我們需要了解下,用那種方式最合適了。
檢視scn資訊:
檢視資料檔案頭部的scn資訊:
-
SQL> select checkpoint_change# from v$datafile_header;
-
-
CHECKPOINT_CHANGE#
-
------------------
-
2247792
-
2247792
-
2247792
-
2247792
- 2247792
檢視控制檔案中記錄的scn頭部資訊:
-
SQL> select checkpoint_change# from v$datafile;
-
-
CHECKPOINT_CHANGE#
-
------------------
-
2247974
-
2247974
-
2247974
-
2247974
- 2247974
在這裡我們可以很清楚的看到控制檔案中記錄的scn資訊比資料檔案頭部記錄的scn資訊更新,且所有資料檔案頭部資訊是一致的,由此可以快速得出,我們將資料庫恢復到資料檔案的scn這樣資料庫就可以開啟了。
做基於檔案頭部的scn恢復:
-
SQL> recover database until change 2247792;
-
ORA-00283: recovery session canceled due to errors
- ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
提示需要使用控制檔案來做基於scn的恢復。
使用控制檔案來做基於scn的恢復:
-
SQL> recover database until change 2247792 using backup controlfile;
- Media recovery complete.
SQL> select * from v$recover_file
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- ---------- ---------- ------------------
1 ONLINE ONLINE 2247792 23-DEC-17
2 ONLINE ONLINE 2247792 23-DEC-17
3 ONLINE ONLINE 2247792 23-DEC-17
4 ONLINE ONLINE 2247792 23-DEC-17
5 ONLINE ONLINE 2247792 23-DEC-17
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- ---------- ---------- ------------------
1 ONLINE ONLINE 2247792 23-DEC-17
2 ONLINE ONLINE 2247792 23-DEC-17
3 ONLINE ONLINE 2247792 23-DEC-17
4 ONLINE ONLINE 2247792 23-DEC-17
5 ONLINE ONLINE 2247792 23-DEC-17
恢復完成之後,執行open resetlogs:
-
SQL> alter database open resetlogs;
-
- Database altered.
-
SQL> col error format a10;
-
SQL> select * from v$recover_file;
-
-
no rows selected
-
-
SQL> select checkpoint_change# from v$datafile_header;
-
-
CHECKPOINT_CHANGE#
-
------------------
-
2247797
-
2247797
-
2247797
-
2247797
-
2247797
-
-
SQL> select checkpoint_change# from v$datafile;
-
-
CHECKPOINT_CHANGE#
-
------------------
-
2247797
-
2247797
-
2247797
-
2247797
- 2247797
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-2149361/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle基於scn的不完全恢復Oracle
- oracle實驗記錄 (恢復-rman基於控制檔案的恢復)Oracle
- 【備份與恢復】控制檔案的恢復(不完全恢復)
- 控制檔案重建後的不完全恢復
- 使用RMAN的不完全恢復-基於時間/SCN/日誌序列
- oracle基於SCN增量恢復Oracle
- 舊控制檔案的不完全恢復(sqlplus工具)SQL
- dataguard 歸檔丟失,備庫基於SCN恢復
- RMAN基於備份控制檔案恢復失敗
- Oracle 11g 主動選擇的不完全恢復,基於SCN的,DML操作Oracle
- Oracle手工不完全恢復(一):使用當前控制檔案Oracle
- Oracle手工不完全恢復(二):使用備份控制檔案Oracle
- oracle實驗記錄 (恢復-關於控制檔案(1))Oracle
- oracle實驗記錄 (恢復-關於控制檔案(2))Oracle
- oracle實驗記錄 (恢復-關於控制檔案(3))Oracle
- oracle實驗記錄 (恢復-關於控制檔案(4))Oracle
- BBED 修改oracle 資料檔案的 SCN 號來做資料庫不完全恢復。Oracle資料庫
- 控制檔案恢復—從trace檔案中恢復
- rman恢復控制檔案的一個小錯誤
- rman恢復--丟失控制檔案的恢復
- 基於檔案描述符的恢復
- 12C針對cdb全備與 PDB執行不完全恢復(基於SCN)
- RMAN恢復控制檔案
- 手工恢復控制檔案
- oracle基於時間點的不完全恢復Oracle
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- 控制檔案恢復—從快照中恢復
- 恢復丟失的控制檔案
- 控制檔案的恢復方法(一)
- 控制檔案的恢復方法(二)
- 控制檔案的恢復方法(三)
- 控制檔案的恢復方法(四)
- oracle 基於使用者管理的不完全恢復Oracle
- 使用舊的控制檔案備份來恢復控制檔案
- cp方式恢復控制檔案
- 控制檔案恢復測試
- 控制檔案丟失恢復
- 【控制檔案丟失恢復】