DataGuard由于物理备库异常关机导致ORA-10458: standby database requires recovery

概述:

今天在自己测试环境玩DG,在备库上操作的一不小心把oracle用户的进程全部杀(切记在生产环境每步操作都要知道是在干嘛,切记规范操作,安全第一),已经建立了同步机制的备库就这样意外挂掉了。随后尝试启动数据库的时候遇到ora-10458,ora-01196,ora-01110。

故障现象

SQL> startup
ORACLE instance started.
Total System Global Area 1970864128 bytes
Fixed Size                  2254544 bytes
Variable Size             805308720 bytes
Database Buffers         1157627904 bytes
Redo Buffers                5672960 bytes
SQL> alter database mount;

Database altered.
SQL> alter database open;
alter database open
*
ERROR at line 1:
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/DG/system.dbf'

小z我经验不足,没有遇到过这个情况(但是这个故障应该很多dba都遇到过的问题),然后我就去看alert日志。

...
alter database open
AUDIT_TRAIL initialization parameter is changed to OS, as DB is NOT compatible for database opened with read-only access
Beginning Standby Crash Recovery.
Serial Media Recovery started
Managed Standby Recovery starting Real Time Apply
Media Recovery of Online Log [Thread=2, Seq=202]
...
Recovery of Online Redo Log: Thread 2 Group 15 Seq 202 Reading mem 0
...
ORA-16016: archived log for thread 2 sequence# 202 unavailable
...

这个几个信息都指向的2节点的202的日志,是突然备库宕机导致丢失了日志没有应用上,这种情况备库需要进行恢复。

解决方法

一 、重建DG物理备库

重新搭建物理备库,在数据量下的情况是允许的,但是数据量很大的情况下是不建议的。

二、利用已经建立好的同步机制恢复DG备库

这个方法就比较简单了。
备库(现在是mount状态):

SQL> recover managed standby database using current logfile disconnect from session;
Media recovery complete.

主库(发起切换日志的操作):

SYS@rac1>alter system switch logfile;

System altered.

SYS@rac1>/

System altered.

SYS@rac1>/

System altered.

SYS@rac1>/
System altered.

SYS@rac1>/
System altered.

主库发起切日志操作的时候,主库会将未应用或未成功应用的日志传输到备库应用。这里也就启到恢复的作用了。(等待几分钟)
备库:

SQL> recover managed standby database cancel;
Media recovery complete.
SQL> alter database open read only;

Database altered.

取消同步并成功将备库拉至read only状态,至此,备库已经能正常打开了。

PS:在业务压力大,缺失归档(未应用的归档)较多情况下,也就是说通过dg本身去追是很吃力的,建议使用基于scn的rman增量备份恢复进行追归档。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值