ora-10458,ora-01196,ora-01110

解决方法:
从库启动到mount状态:
sql>shutdown immediate
sql>startup mount;
sql>alter database recover managed standby database using current logfile disconnect from session;
到主库上操作:
sql>alter system switch logfile;
多操作几次,操作之后,稍等一段时间,时间视网速而定,过一段时间后,在主库上查询一下规定情况:
sql>select name,sequence#,archived,applied from v$archived_log order by sequence#;
如果返回结果"applied"都是“yes”或者只有最后一个是“no”的话,说明全部归档日志全部已经归档完了,此时到备库上上操作:
备库操作:
sql>alter database recover managed standby database cancel;
sql>alter database open;
sql>alter database recover managed standby database using current logfile disconnect from session;




SQL> startup
ORACLE instance started.

Total System Global Area 1644167168 bytes
Fixed Size		    2925024 bytes
Variable Size		 1073745440 bytes
Database Buffers	  553648128 bytes
Redo Buffers		   13848576 bytes
Database mounted.
ORA-10458: standby database requires recovery
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'

SQL> set lines 500;
SQL> set pages 500;


SQL> select instance_name,status,database_status,instance_role from v$instance;

INSTANCE_NAME	 STATUS       DATABASE_STATUS	INSTANCE_ROLE
---------------- ------------ ----------------- ------------------
orcl		 MOUNTED      ACTIVE		PRIMARY_INSTANCE

SQL> select name,open_mode,database_role,dataguard_broker,guard_status,switchover_status from v$database;

NAME	  OPEN_MODE	       DATABASE_ROLE	DATAGUAR GUARD_S SWITCHOVER_STATUS
--------- -------------------- ---------------- -------- ------- --------------------
ORCL	  MOUNTED	       PHYSICAL STANDBY ENABLED  NONE	 NOT ALLOWED

解决方法1 重做 physical standby
这个比较简单,粗暴,不适用数据库偏大的情况.

解决方法2 恢复 physical standby
这个比较通用,也比较简单

从库上操作,启动到mount状态,启动恢复

SQL> shutdown immediate;
SQL> startup mount;
SQL> recover managed standby database using current logfile disconnect from session;


主库上操作,产生几个归档

SQL> alter system archive log current;
SQL> alter system checkpoint;
SQL> alter system archive log current;
SQL> select * from v$archive_dest where destination is not null;


一定要求确保 v$archive_dest 的 status 列为 ‘VALID’

在主库上查询一下归档情况:

SQL> select name,sequence#,archived,applied from v$archived_log order by sequence#;


如果返回结果 ‘APPLIED’ 都是 ‘YES’ 或者只有最后一个是 'NO’的话,说明全部归档日志全部已经归档完了.
备库上操作

SQL> alter database recover managed standby database cancel;
SQL> alter database open;


此时,如果数据库正常打开了,且如果是通过 sqlplus 手动配置的 dataguard,就执行如下命令

SQL> alter database recover managed standby database using current logfile disconnect from session;


如果是通过 dataguard broker 配置的,就直接进入 dgmgrl 操作.

DGMGRL> show configuration ;

Configuration - dgconf

  Protection Mode: MaxPerformance
  Members:
  orclp  - Primary database
    orcls1 - Physical standby database 
      Error: ORA-16766: Redo Apply is stopped

Fast-Start Failover: DISABLED

Configuration Status:
ERROR   (status updated 50 seconds ago) 
DGMGRL> 
DGMGRL> enable configuration;
————————————————
版权声明:本文为CSDN博主「数据库人生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ctypyb2002/article/details/86699877

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值