这篇文章给大家分享的是有关如何解决Oracle备库宕机启动的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
公司主营业务:成都网站建设、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出寒亭免费做网站回馈大家。简介
ORA-10458: standby database requires recovery
ORA-01196: 文件 1 由于介质恢复会话失败而不一致
ORA-01110: 数据文件 1: 'XXXXXXXXXXXXXXXXXX\XXXXX1.DBF'
一个项目做了Oracle主从数据库同步,通过Dataguard实现,从库服务器宕机,再开机的时候,从库无法启动,报“ORA-01196: 文件 1 由于介质恢复会话失败而不一致”这个错误,具体日志信息如下:
ORA-10458: standby database requires recovery
ORA-01196: 文件 1 由于介质恢复会话失败而不一致
ORA-01110: 数据文件 1: 'XXXXXXXXXXXXXXXXXX\XXXXX1.DBF'
正常启动的顺序应该是先启动备库再启动主库。由于从库宕机导致有段时间日志未同步,主备不一致,从库无法启动。
恢复前准备
备份主库
备份主库数据【/home/oracle/backup/20190506/】
mkdir /home/oracle/backup/20190506
sqlplus / as sysdba SQL> create directory data_dir as '/home/oracle/backup/20190506';
expdp SYSTEM/密码@orcl schemas=用户名 dumpfile=bak20190506.dmp directory=data_dir logfile=bak20190506.log;
检查日志文件
恢复之前需要了解当前备库的数据库文件、日志文件,查看主备库是否一致【如不一致需要拷贝】。
SQL> set linesize 300 SQL> col MEMBER for a60 SQL> select type,member from v$logfile;
检查数据库文件
SQL> select name from v$datafile;
备库恢复
关闭备库,并启动了实例,加载数据库,但是数据库没有打开。打开日志进程
shutdown immediate startup mount; alter database recover managed standby database using current logfile disconnect from session;
主库操作
alter system switch logfile;
强制日志切换,不一定就归档当前的重做日志文件(若自动归档打开,就归档前的重做日志,若自动归档没有打开,就不归档当前重做日志。)
alter system switch logfile;
多操作几次,操作之后,稍等一段时间,时间视网速而定,过一段时间后,在主库上查询一下同步情况:
select name,sequence#,archived,applied from v$archived_log order by sequence#;
如果返回结果"APPLIED"都是“YES”或者只有最后一个是“NO”的话,说明全部归档日志全部已经归档完了
,此时到备库上上操作
启动备库
alter database recover managed standby database cancel; alter database open; alter database recover managed standby database using current logfile disconnect from session;
感谢各位的阅读!关于“如何解决Oracle备库宕机启动的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
分享标题:如何解决Oracle备库宕机启动的问题-创新互联
本文URL:http://lswzjz.com/article/digscd.html