這篇文章將為大家詳細(xì)講解有關(guān)基于控制文件的scn不完全恢復(fù)該怎么辦,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
成都創(chuàng)新互聯(lián)是專(zhuān)業(yè)的邵東網(wǎng)站建設(shè)公司,邵東接單;提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行邵東網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
問(wèn)題現(xiàn)象:
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'
日志中報(bào)錯(cuò):
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...
問(wèn)題分析:
做完recover database正要起庫(kù),發(fā)現(xiàn)data file 1需要恢復(fù),那么這個(gè)時(shí)候就應(yīng)該要想到需要做不完全恢復(fù)了。那么不完全恢復(fù)自然有四種,基于時(shí)間(time)恢復(fù)
基于取消(cancel)恢復(fù)
基于SCN(change)恢復(fù)
基于備份控制文件(unsing backup controlfile)的恢復(fù),那么接下來(lái)我們需要了解下,用那種方式最合適了。
查看scn信息:
查看數(shù)據(jù)文件頭部的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信息比數(shù)據(jù)文件頭部記錄的scn信息更新,且所有數(shù)據(jù)文件頭部信息是一致的,由此可以快速得出,我們將數(shù)據(jù)庫(kù)恢復(fù)到數(shù)據(jù)文件的scn這樣數(shù)據(jù)庫(kù)就可以打開(kāi)了。
做基于文件頭部的scn恢復(fù):
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
提示需要使用控制文件來(lái)做基于scn的恢復(fù)。
使用控制文件來(lái)做基于scn的恢復(fù):
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
恢復(fù)完成之后,執(zhí)行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
必須保證數(shù)據(jù)文件頭部的scn和控制文件中的scn信息保持一致,數(shù)據(jù)庫(kù)才能打開(kāi),那么正?;謴?fù)將遵循就近。
關(guān)于基于控制文件的scn不完全恢復(fù)該怎么辦就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。