数据库ORA-01196故障-归档日志丢失恢复的示例分析
这篇文章主要为大家展示了“数据库ORA-01196故障-归档日志丢失恢复的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库ORA-01196故障-归档日志丢失恢复的示例分析”这篇文章吧。
问题:
由于机房停电,其中一DG备库无法open,启动时报错
启动数据库时报下面的错误
SQL>alterdatabaseopen;alterdatabaseopen*
第 1 行出现错误:
ORA-10458: standby database requiresrecovery
ORA-01196: 文件 1 由于介质恢复会话失败而不一致
ORA-01110: 数据文件 1:'+DATA/htdb7/datafile/system.313.884996245'
查看归档日志应用情况,发现一部分日志没应用
SQL>SelectName,Sequence#,applied,completion_timeFromv$archived_logOrderBySequence#Desc;Name,Sequence#appliedcompletion_time+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328776.705.939567729328776YESNO2017/3/2515:02+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328775.713.939567727328775YESNO2017/3/2515:02+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328774.777.939567727328774YESNO2017/3/2515:02+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328773.771.939567725328773YESNO2017/3/2515:02+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328772.422.939567721328772YESNO2017/3/2515:02+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328771.482.939567721328771YESNO2017/3/2515:02+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328770.755.939567721328770YESNO2017/3/2515:02+FRA/htdb7/archivelog/2017_03_24/thread_1_seq_328757.1255.939481573328757YESNO2017/3/2415:06+FRA/htdb7/archivelog/2017_03_24/thread_1_seq_328756.795.939480431328756YESYES2017/3/2414:47+FRA/htdb7/archivelog/2017_03_24/thread_1_seq_328755.543.939479395328755YESYES2017/3/2414:29+FRA/htdb7/archivelog/2017_03_24/thread_1_seq_328754.390.939478683328754YESYES2017/3/2414:18+FRA/htdb7/archivelog/2017_03_24/thread_1_seq_328753.1845.939477943328753YESYES2017/3/2414:05--再和其它备库或主库的归档日志做对比,很明显发现这个备库没有同步并应用主库的日志--此备库:[oracle@hotel07~]$asmcmd-pASMCMD[+fra/htdb7/ARCHIVELOG]>cd2017_03_24/ASMCMD[+fra/htdb7/ARCHIVELOG/2017_03_24]>ls......thread_1_seq_328754.390.939478683thread_1_seq_328755.543.939479395thread_1_seq_328756.795.939480431thread_1_seq_328757.1255.939481573--其它正常的备库[oracle@hotel05~]$asmcmd-pASMCMD[+fra/htdb5/ARCHIVELOG/2017_03_24]>lsthread_1_seq_328754.4124.939478683thread_1_seq_328755.349.939479395thread_1_seq_328756.852.939480431thread_1_seq_328757.1420.939481575thread_1_seq_328758.3356.939510647thread_1_seq_328759.4592.939510649thread_1_seq_328760.3205.939510647thread_1_seq_328761.5308.939510649thread_1_seq_328762.5227.939510653.....
解决办法:
需要从其它备库或主库上面把此备库缺失的归档日志手动传输过来,然后再进行open操作
步骤如下:
1. 在另一正常的备库用rman备份缺失的归档日志
[oracle@hotel05~]$rmantarget/RMAN>copyarchivelog'+fra/htdb5/ARCHIVELOG/2017_03_24/thread_1_seq_328759.4592.939510649'to'/home/oracle/arcbak/thread_1_seq_328759.4592.939510649';
启动 backup 于 25-3月 -17
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始复制归档日志
输入归档日志线程=1 序列=328759 RECID=328754 STAMP=939510652
输出文件名=/home/oracle/arcbak/thread_1_seq_328759.4592.939510649 RECID=328794STAMP=939571923
通道 ORA_DISK_1: 归档日志复制完成, 经过时间: 00:00:03
完成 backup 于 25-3月 -17
......
. 备份完成后,把归档传输到丢失归档的备库
[oracle@hotel05 arcbak]$ scp * hotel07:/home/oracle/arcbak/
3. 然后在此备库上进行恢复操作
-- 编制归档文件目录
[oracle@hotel07 ~]$ rman target /
恢复管理器: Release 11.2.0.2.0 - Production on 星期六 3月 25 15:42:112017
Copyright (c) 1982, 2009, Oracle and/or itsaffiliates. All rights reserved.
已连接到目标数据库: HTDB4 (DBID=1083719948, 未打开)
RMAN>catalogstartwith'/home/oracle/arcbak';
搜索与样式 /home/oracle/arcbak 匹配的所有文件
数据库未知文件的列表=====================================文件名:/home/oracle/arcbak/thread_1_seq_328763.4773.939510653文件名:/home/oracle/arcbak/thread_1_seq_328767.2765.939511033文件名:/home/oracle/arcbak/thread_1_seq_328766.5854.939511023文件名:/home/oracle/arcbak/thread_1_seq_328759.4592.939510649文件名:/home/oracle/arcbak/thread_1_seq_328758.3356.939510647文件名:/home/oracle/arcbak/thread_1_seq_328760.3205.939510647文件名:/home/oracle/arcbak/thread_1_seq_328762.5227.939510653文件名:/home/oracle/arcbak/thread_1_seq_328761.5308.939510649文件名:/home/oracle/arcbak/thread_1_seq_328757.1420.939481575文件名:/home/oracle/arcbak/thread_1_seq_328764.5801.939510653文件名:/home/oracle/arcbak/thread_1_seq_328765.3298.939510657
是否确实要将上述文件列入目录(输入 YES 或 NO)? y
正在编制文件目录...
目录编制完毕
已列入目录的文件的列表=======================文件名:/home/oracle/arcbak/thread_1_seq_328763.4773.939510653文件名:/home/oracle/arcbak/thread_1_seq_328767.2765.939511033文件名:/home/oracle/arcbak/thread_1_seq_328766.5854.939511023文件名:/home/oracle/arcbak/thread_1_seq_328759.4592.939510649文件名:/home/oracle/arcbak/thread_1_seq_328758.3356.939510647文件名:/home/oracle/arcbak/thread_1_seq_328760.3205.939510647文件名:/home/oracle/arcbak/thread_1_seq_328762.5227.939510653文件名:/home/oracle/arcbak/thread_1_seq_328761.5308.939510649文件名:/home/oracle/arcbak/thread_1_seq_328757.1420.939481575文件名:/home/oracle/arcbak/thread_1_seq_328764.5801.939510653文件名:/home/oracle/arcbak/thread_1_seq_328765.3298.939510657
--恢复归档日志RMAN>copyarchivelog'/home/oracle/arcbak/thread_1_seq_328757.1420.939481575'to'+fra';
启动 backup 于 25-3月 -17
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始复制归档日志
输入归档日志线程=1 序列=328760 RECID=149368 STAMP=939573701
输出文件名=+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328760.474.939573739RECID=149375 STAMP=939573738
通道 ORA_DISK_1: 归档日志复制完成, 经过时间: 00:00:01
完成 backup 于 25-3月 -17
......
4. 最后就可以open数据库了
SQL>alterdatabaseopen;SQL>selectopen_modefromv$database;OPEN_MODE--------------------READONLYWITHAPPLY--查看日志,归档日志正常进行应用alterdatabaseopenDataGuardBrokerinitializing...DataGuardBrokerinitializationcompleteBeginningstandbycrashrecovery.SerialMediaRecoverystartedManagedStandbyRecoverystartingRealTimeApplyMediaRecoveryLog+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328757.499.939573737MediaRecoveryLog/home/oracle/arcbak/thread_1_seq_328758.3356.939510647SatMar2516:43:572017IncompleteRecoveryapplieduntilchange91347484119time03/24/201715:06:26Completedstandbycrashrecovery.SatMar2516:43:582017SMON:enablingcacherecoveryDictionarycheckbeginningDictionarycheckcompleteDatabaseCharactersetisZHS16GBKNoResourceManagerplanactivereplication_dependency_trackingturnedoff(noasyncmultimasterreplicationfound)Physicalstandbydatabaseopenedforreadonlyaccess.Completed:alterdatabaseopenSatMar2516:44:012017ALTERDATABASERECOVERMANAGEDSTANDBYDATABASETHROUGHALLSWITCHOVERDISCONNECTUSINGCURRENTLOGFILEAttempttostartbackgroundManagedStandbyRecoveryprocess(htdb7)SatMar2516:44:012017MRP0startedwithpid=47,OSid=9619MRP0:BackgroundManagedStandbyRecoveryprocessstarted(htdb7)startedlogmergerprocessSatMar2516:44:062017ManagedStandbyRecoverystartingRealTimeApplyParallelMediaRecoverystartedwith16slavesWaitingforallnon-currentORLstobearchived...Allnon-currentORLshavebeenarchived.MediaRecoveryLog/home/oracle/arcbak/thread_1_seq_328758.3356.939510647MediaRecoveryLog+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328759.1574.939573739Completed:ALTERDATABASERECOVERMANAGEDSTANDBYDATABASETHROUGHALLSWITCHOVERDISCONNECTUSINGCURRENTLOGFILEMediaRecoveryLog+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328760.922.939573741MediaRecoveryLog+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328761.695.939573743MediaRecoveryLog+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328762.1769.939573745MediaRecoveryLog+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328763.1422.939573745
以上是“数据库ORA-01196故障-归档日志丢失恢复的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。