数据库报:ORA-01196(ORA-10458/ORA-01110)错误的解决方法
发现问题
赞比亚的一个项目,主要做主从数据库同步,主库在赞比亚机房,从库在中国青岛阿里云服务器上面,通过Dataguard实现,当运行一段时间后,发现主从数据库的数据不一致了,从库无法启动,报“ORA-01196:文件1由于介质恢复会话失败而不一致”这个错误,具体日志信息如下:
===========《《日志信息》》====================
WindowsPowerShell
版权所有(C)2009MicrosoftCorporation。保留所有权利。
PSC:\Users\Administrator>sqlplus /assysdba
SQL*Plus:Release11.2.0.3.0Productionon星期三5月704:59:102014
Copyright(c)1982,2011,Oracle. Allrightsreserved.
连接到:
OracleDatabase11gEnterpriseEditionRelease11.2.0.3.0-64bitProduction
WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions
SQL>selectOPen_modefromv$database;
OPEN_MODE
----------------------------------------
MOUNTED
SQL>alterdatabaseopen;
alterdatabaseopen
*
第1行出现错误:
ORA-10458:standbydatabaserequiresrecovery
ORA-01196:文件1由于介质恢复会话失败而不一致
ORA-01110:数据文件1:'D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF'
==============《《《日志结束》》》===========================
解决方法:
从库启动到mount状态:
SQL>SHUTDOWNIMMEDIATE SQL>STARTUPMOUNT; SQL>ALTERDATABASERECOVERMANAGEDSTANDBYDATABASEUSEINGCURRENTLOGFILEDISCONNECTFROMSESSION;
到主库上操作:
SQL>ALTERSYSTEMSWITCHLOGFILE;
多操作几次,操作之后,稍等一段时间,时间视网速而定,过一段时间后,在主库上查询一下规定情况:
SQL>SELECTNAME,SEQUENCE#,ARCHIVED,APPLIEDFROMV$ARCHIVED_LOGORDERBYSEQUENCE#;
如果返回结果"APPLIED"都是“YES”或者只有最后一个是“NO”的话,说明全部归档日志全部已经归档完了,此时到备库上上操作:
备库操作:
SQL>ALTERDATABASERECOVERMANAGEDSTANDBYDATABASECANCLE; SQL>ALTERDATABASEOPEN; SQL>ALTERDATABASERECOVERMANAGEDSTANDBYDATABASEUSINGCURRENTLOGFILEDISCONNECTFROMSESSION;
================================解决方法========================================
问题解决!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。