1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

恢复控制文件后如何避免resetlogs打开数据库?

恢复控制文件后,数据库使用resetlogs方式打开,在线日志的序列被重置。

SYS@practice>selectgroup#,sequence#,archived,status,first_change#,next_change#fromv$log;

GROUP#SEQUENCE#ARCSTATUSFIRST_CHANGE#NEXT_CHANGE#
----------------------------------------------------------------
11NOCURRENT10144152.8147E+14
20YESUNUSED00
30YESUNUSED00

如果没有被resetlog截断的话当前日志的序列号应该是7,8,9

SYS@practice>selectrecid,sequence#,first_change#,next_change#fromv$log_history;

RECIDSEQUENCE#FIRST_CHANGE#NEXT_CHANGE#
---------------------------------------------
11925702955284
22955284955847
33955847971151
44971151987800
55987800997957
669979571010981
7110109811013463
8210134631013471
9310134711014415

如果恢复完控制文件,不使用resetlogs是打不开数据库的。

我们可以采取手工创建控制文件的方法打开数据库,保持联机日志的sequence#连续。下面的实验来演示具体操作过程。

在实验之前先手工切换3次日志,使得在线日志的序列号产生变化。在恢复结束后作为参考。

SYS@practice>altersystemarchivelogcurrent;

SYS@practice>altersystemarchivelogcurrent;

SYS@practice>altersystemarchivelogcurrent;

切换后当前连接日志状态如下

SYS@practice>selectgroup#,sequence#,archived,status,first_change#,next_change#fromv$log;

GROUP#SEQUENCE#ARCSTATUSFIRST_CHANGE#NEXT_CHANGE#
----------------------------------------------------------------
14NOCURRENT10301302.8147E+14
22YESINACTIVE10301091030117
33YESACTIVE10301171030130

1、恢复控制文件

RMAN>startupforcenomount;

Oracleinstancestarted

TotalSystemGlobalArea580395008bytes

FixedSize2255392bytes
VariableSize402654688bytes
DatabaseBuffers171966464bytes
RedoBuffers3518464bytes

RMAN>restorecontrolfilefromautobackup;

Startingrestoreat06-OCT-14
usingtargetdatabasecontrolfileinsteadofrecoverycatalog
allocatedchannel:ORA_DISK_1
channelORA_DISK_1:SID=19devicetype=DISK

recoveryareadestination:/u01/fast_recovery_area
databasename(ordatabaseuniquename)usedforsearch:PRACTICE
channelORA_DISK_1:AUTOBACKUP/u01/fast_recovery_area/PRACTICE/autobackup/2014_10_06/o1_mf_s_860251717_b35s05gm_.bkpfoundintherecoveryarea
channelORA_DISK_1:lookingforAUTOBACKUPonday:20141006
channelORA_DISK_1:restoringcontrolfilefromAUTOBACKUP/u01/fast_recovery_area/PRACTICE/autobackup/2014_10_06/o1_mf_s_860251717_b35s05gm_.bkp
channelORA_DISK_1:controlfilerestorefromAUTOBACKUPcomplete
outputfilename=/u01/oradata/practice/control01.ctl
outputfilename=/u01/fast_recovery_area/practice/control02.ctl
Finishedrestoreat06-OCT-14

2、启动数据库到mount状态

RMAN>mountdatabase;

databasemounted
releasedchannel:ORA_DISK_1

3、恢复数据库

RMAN>recoverdatabase;

Startingrecoverat06-OCT-14
Startingimplicitcrosscheckbackupat06-OCT-14
allocatedchannel:ORA_DISK_1
channelORA_DISK_1:SID=20devicetype=DISK
Crosschecked6objects
Finishedimplicitcrosscheckbackupat06-OCT-14

Startingimplicitcrosscheckcopyat06-OCT-14
usingchannelORA_DISK_1
Finishedimplicitcrosscheckcopyat06-OCT-14

searchingforallfilesintherecoveryarea
catalogingfiles...
catalogingdone

ListofCatalogedFiles
=======================
FileName:/u01/fast_recovery_area/PRACTICE/archivelog/2014_10_06/o1_mf_1_1_b362kndr_.arc
FileName:/u01/fast_recovery_area/PRACTICE/archivelog/2014_10_06/o1_mf_1_3_b362lc83_.arc
FileName:/u01/fast_recovery_area/PRACTICE/archivelog/2014_10_06/o1_mf_1_2_b362l34q_.arc
FileName:/u01/fast_recovery_area/PRACTICE/autobackup/2014_10_06/o1_mf_s_860251717_b35s05gm_.bkp
FileName:/u01/fast_recovery_area/PRACTICE/autobackup/2014_10_06/o1_mf_s_860251162_b35rgt84_.bkp
FileName:/u01/fast_recovery_area/PRACTICE/autobackup/2014_10_06/o1_mf_s_860251158_b35rgpms_.bkp
FileName:/u01/fast_recovery_area/PRACTICE/autobackup/2014_10_06/o1_mf_s_860246909_b35n9x55_.bkp

usingchannelORA_DISK_1

startingmediarecovery

archivedlogforthread1withsequence1isalreadyondiskasfile/u01/fast_recovery_area/PRACTICE/archivelog/2014_10_06/o1_mf_1_1_b362kndr_.arc
archivedlogforthread1withsequence2isalreadyondiskasfile/u01/fast_recovery_area/PRACTICE/archivelog/2014_10_06/o1_mf_1_2_b362l34q_.arc
archivedlogforthread1withsequence3isalreadyondiskasfile/u01/fast_recovery_area/PRACTICE/archivelog/2014_10_06/o1_mf_1_3_b362lc83_.arc
archivedlogforthread1withsequence4isalreadyondiskasfile/u01/oradata/practice/redo01.log
archivedlogfilename=/u01/fast_recovery_area/PRACTICE/archivelog/2014_10_06/o1_mf_1_1_b362kndr_.arcthread=1sequence=1
archivedlogfilename=/u01/fast_recovery_area/PRACTICE/archivelog/2014_10_06/o1_mf_1_2_b362l34q_.arcthread=1sequence=2
archivedlogfilename=/u01/fast_recovery_area/PRACTICE/archivelog/2014_10_06/o1_mf_1_3_b362lc83_.arcthread=1sequence=3
archivedlogfilename=/u01/oradata/practice/redo01.logthread=1sequence=4
mediarecoverycomplete,elapsedtime:00:00:00
Finishedrecoverat06-OCT-14

4,备份控制文件到trace

SYS@practice>selectopen_modefromv$database;

OPEN_MODE
--------------------
MOUNTED

SYS@practice>alterdatabasebackupcontrolfiletotrace;


SYS@practice>selectvaluefromv$diag_infowherename='DefaultTraceFile';

VALUE
--------------------------------------------------------------------------------
/u01/diag/rdbms/practice/practice/trace/practice_ora_1185.trc

5、重启实例到nomount状态

RMAN>startupforcenomount;

Oracleinstancestarted

TotalSystemGlobalArea580395008bytes

FixedSize2255392bytes
VariableSize402654688bytes
DatabaseBuffers171966464bytes
RedoBuffers3518464bytes

6、执行重建控制文件命令进入到mount状态

vi/home/oracle/create_controlfile.sql

STARTUPNOMOUNT
CREATECONTROLFILEREUSEDATABASE"PRACTICE"NORESETLOGSARCHIVELOG
MAXLOGFILES16
MAXLOGMEMBERS3
MAXDATAFILES100
MAXINSTANCES8
MAXLOGHISTORY292
LOGFILE
GROUP1'/u01/oradata/practice/redo01.log'SIZE50MBLOCKSIZE512,
GROUP2'/u01/oradata/practice/redo02.log'SIZE50MBLOCKSIZE512,
GROUP3'/u01/oradata/practice/redo03.log'SIZE50MBLOCKSIZE512
DATAFILE
'/u01/oradata/practice/system01.dbf',
'/u01/oradata/practice/sysaux01.dbf',
'/u01/oradata/practice/undotbs01.dbf',
'/u01/oradata/practice/users01.dbf',
'/u01/oradata/practice/example01.dbf'
CHARACTERSETAL32UTF8
;
VARIABLERECNONUMBER;
EXECUTE:RECNO:=SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILEAUTOBACKUP','ON');
RECOVERDATABASE
ALTERSYSTEMARCHIVELOGALL;
ALTERDATABASEOPEN;
ALTERTABLESPACETEMPADDTEMPFILE'/u01/oradata/practice/temp01.dbf'REUSE;

在sqlplus下执行创建控制文件脚本,数据库会启动到open状态并添加临时表空间文件。

SYS@practice>@create_controlfile.sql

Controlfilecreated.

PL/SQLproceduresuccessfullycompleted.

Mediarecoverycomplete.

Systemaltered.

Databasealtered.

Tablespacealtered.

此时数据库已经处于read write状态也就是open状态了

SYS@practice>selectopen_modefromv$database;

OPEN_MODE
--------------------
READWRITE

查看当前日志的序列号,没有被重置。

SYS@practice>selectgroup#,sequence#,archived,status,first_change#,next_change#fromv$log;

GROUP#SEQUENCE#ARCSTATUSFIRST_CHANGE#NEXT_CHANGE#
----------------------------------------------------------------
14YESINACTIVE10301301050296
25NOCURRENT10502962.8147E+14
33YESINACTIVE10301171030130

查看临时表数据文件也被创建出来了。

SYS@practice>selectnamefromv$tempfile;

NAME
--------------------------------------------------------------------------------
/u01/oradata/practice/temp01.dbf

7,重新识别控制文件的备份信息和配置信息

此时的控制文件中没有之前备份过控制文件的信息

RMAN>listbackupofcontrolfile;

usingtargetdatabasecontrolfileinsteadofrecoverycatalog
specificationdoesnotmatchanybackupintherepository

从闪回恢复区重新注册备份信息

RMAN>catalogdb_recovery_file_dest;

从执行过数据库全备份的地址注册备份信息

RMAN>catalogstartwith'/home/oracle/';

再次列出备份过的控制文件,可以看到已经全部注册成功

RMAN>listbackupofcontrolfile;

ListofBackupSets
===================

BSKeyTypeLVSizeDeviceTypeElapsedTimeCompletionTime
-------------------------------------------------------------
1Full9.67MDISK00:00:0006-OCT-14
BPKey:1Status:AVAILABLECompressed:NOTag:TAG20141006T175610
PieceName:/u01/fast_recovery_area/PRACTICE/autobackup/2014_10_06/o1_mf_s_860262970_b363zt2x_.bkp
ControlFileIncluded:CkpSCN:1051644Ckptime:06-OCT-14

BSKeyTypeLVSizeDeviceTypeElapsedTimeCompletionTime
-------------------------------------------------------------
3Full9.33MDISK00:00:0006-OCT-14
BPKey:3Status:AVAILABLECompressed:NOTag:TAG20141006T132827
PieceName:/u01/fast_recovery_area/PRACTICE/backupset/2014_10_06/o1_mf_ncnnf_TAG20141006T132827_b35n9w39_.bkp
ControlFileIncluded:CkpSCN:1005439Ckptime:06-OCT-14

BSKeyTypeLVSizeDeviceTypeElapsedTimeCompletionTime
-------------------------------------------------------------
7Full9.33MDISK00:00:0006-OCT-14
BPKey:7Status:AVAILABLECompressed:NOTag:TAG20141006T143909
PieceName:/home/oracle/full_PRACTICE_9_20141006_1.bak
ControlFileIncluded:CkpSCN:1013438Ckptime:06-OCT-14

本文来源:1818IP

本文地址:https://www.1818ip.com/post/10801.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。