ORA-16139: media recovery required错误处理

179 篇文章 16 订阅
本文介绍了在进行Oracle DG主备库切换时遇到的ORA-16139错误,通过排查日志应用状态,发现未应用的日志并采取ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION解决,最终成功切换到Primary角色。
摘要由CSDN通过智能技术生成

一、问题说明

在做物理DG主备库切换时,遇到ORA-16139: media recovery required错误

在当前备库执行过程展示如下:

SQL> select name,DATABASE_ROLE from v$database;

NAME      DATABASE_ROLE
--------- ----------------
RUIADG    PHYSICAL STANDBY

SQL> select name,DATABASE_ROLE from v$database;

NAME      DATABASE_ROLE
--------- ----------------
RUIADG    PHYSICAL STANDBY

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS
--------------------
SWITCHOVER LATENT

SQL> alter database commit to switchover to primary;
alter database commit to switchover to primary
*
ERROR at line 1:
ORA-16139: media recovery required

二、原因定位

怀疑可能是由于有日志未应用造成的,执行如下语句查询:

SQL>  select APPLIED,SEQUENCE# from v$archived_log;

APPLIED    SEQUENCE#
--------- ----------
YES                9
YES               10
YES               10
YES               11
YES               11
YES               12
YES               12
YES               13
YES               13
NO                14
YES               14

APPLIED    SEQUENCE#
--------- ----------
NO                20
NO                17
NO                16
NO                15
NO                18
NO                19
NO                21
NO                22
NO                23
NO                24
NO                25

APPLIED    SEQUENCE#
--------- ----------
NO                26
NO                27
NO                28
NO                29

26 rows selected.

果然有很多日志未应用。

三、处理方式

执行如下命令:

SQL> ALTER  DATABASE RECOVER MANAGED STANDBY  DATABASE DISCONNECT FROM SESSION;

Database altered.

再次执行切换命令:

SQL> alter database commit to switchover to primary;

Database altered.

没有报错

此时查看数据库当前角色,已修改为Primary:

SQL> select name,DATABASE_ROLE from v$database;

NAME      DATABASE_ROLE
--------- ----------------
RUIADG    PRIMARY
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值