数据库 
首页 > 数据库 > 浏览文章

数据库报:ORA-01196(ORA-10458/ORA-01110)错误的解决方法

(编辑:jimmy 日期: 2024/5/19 浏览:3 次 )

发现问题

赞比亚的一个项目,主要做主从数据库同步,主库在赞比亚机房,从库在中国青岛阿里云服务器上面,通过Dataguard实现,当运行一段时间后,发现主从数据库的数据不一致了,从库无法启动,报“ORA-01196: 文件 1 由于介质恢复会话失败而不一致”这个错误,具体日志信息如下:

===========《《日志信息》》====================

Windows PowerShell

版权所有 (C) 2009 Microsoft Corporation。保留所有权利。

PS C:\Users\Administrator> sqlplus  / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on 星期三 5月 7 04:59:10 2014

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

连接到:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select OPen_mode from v$database;

OPEN_MODE

----------------------------------------

MOUNTED

SQL> alter database open;

alter database open

*

第 1 行出现错误:

ORA-10458: standby database requires recovery

ORA-01196: 文件 1 由于介质恢复会话失败而不一致

ORA-01110: 数据文件 1: 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF'

==============《《《日志结束》》》===========================

解决方法:

从库启动到mount状态:

SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT;
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USEING CURRENT LOGFILE DISCONNECT FROM SESSION;

到主库上操作:

SQL>ALTER SYSTEM SWITCH LOGFILE;

多操作几次,操作之后,稍等一段时间,时间视网速而定,过一段时间后,在主库上查询一下规定情况:

SQL>SELECT NAME,SEQUENCE#,ARCHIVED,APPLIED FROMV$ARCHIVED_LOG ORDER BY SEQUENCE#;

如果返回结果"APPLIED"都是“YES”或者只有最后一个是“NO”的话,说明全部归档日志全部已经归档完了,此时到备库上上操作:

 备库操作:

SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCLE;
 SQL>ALTER DATABASE OPEN;
 SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

================================解决方法======================================== 

问题解决!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

上一篇:关于sql注入的简要演示(入坑抛砖)
下一篇:pymysql如何解决sql注入问题深入讲解
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。