• Oracle-ADG无法应用日志问题(Bug-17695685)


    问题:

            Oracle11.2.0.4.5的版本,ADG备库mrp进程出现无法应用日志的问题

    问题原因分析:

            查看当前mrp进程的状态,当前在应用日志thread# 1 626298

    select  inst_id,process,thread#,sequence#,status from gv$managed_standby;
    

            备库查看日志的状态,日志已经投递到备库并且还未被删除

    1. select thread#,sequence#,deleted,dest_id
    2. from v$archived_log
    3. where sequence#=626298

         对mrp进程进行10046跟踪,查看mrp进程一直在等待parallel recovery control message reply,等待并行子进程的信息回复

    1. SQL> select process,pid from V$managed_standby where process like '%MRP%';
    2. PROCESS PID
    3. --------------------------- ----------
    4. MRP0 87986
    5. SQL> oradebug setospid 87986
    6. Oracle pid: 92, Unix process pid: 87986, image: oracle@​db1 (MRP0)
    7. SQL> oradebug unlimit
    8. Statement processed.
    9. SQL> oradebug Event 10046 trace name context forever, level 12
    10. Statement processed.
    11. SQL> oradebug Event 10046 trace name context off
    12. Statement processed.
    13. SQL> oradebug tracefile_name

            查看并行应用子进程的等待,除了正常的parallel recovery slave next change等待之后,出现了gc buffer的请求等待gc buffer busy release

            还看到,会话出现大量的buffer busy wait以及buffer deadlock

            这个问题是由于bug 17695685导致的mrp进程在应用日志时出现Media Recovery buffer等待,并伴随buffer deadlock/"gc buffer busy acquire"等待

    问题修复:

            临时的规避方法:强制kill了mrp以及pr子进程,重启mrp进程恢复日志应用

            根因修复:安装数据库补丁修复

  • 相关阅读:
    走进Spark
    荧光磷脂PEG衍生物之一磷脂-聚乙二醇-荧光素,Fluorescein-PEG-DSPE
    2312. 卖木头块
    【Java中23种面试常考的设计模式之状态模式(State)---行为型模式】
    kudu alter 修改列属性编码 encoding
    中睿天下加入中关村华安关键信息基础设施安全保护联盟
    如何在.net6webapi中实现自动依赖注入
    接口测试之文件上传
    协同过滤算法
    golang rabbitmq客户端连接及重连
  • 原文地址:https://blog.csdn.net/sinat_36757755/article/details/133245209