zoukankan      html  css  js  c++  java
  • Oracle 10.2.0.4 高负载 触发 ORA00494 错误

    MOS 上有一篇文章专门介绍这个问题,参考:[ID 779552.1]。

    在Oracle 10.2.0.4版本中,alert log 可能出现如下错误:

           ORA-00494:enqueue [CF] held for too long (more than 900 seconds)

           这个错误,通常和ORA-600 [2103] 一起出现。 他们的产生的原因都是一样的。进程在指定时间内(默认900秒)不能获取CF  队列。

           一般只在系统高负载,高并发,IO 等待和争夺时,Oracle进程占有相关资源没有释放造成。

    有2个bug 可能导致这个问题:

           (1)Bug7692631 - 'DATABASE CRASHES WITH ORA-494 AFTER UPGRADE TO 10.2.0.4'

           (2)unpublished Bug 7914003 'KILL BLOCKER AFTER ORA-494 LEADS TO FATALBG PROCESS BEING KILLED'

    解决方法:

           在10.2.0.4 的Oracle 的机制中会kill 所有block的进程,包括后台进程和非后台进程。 要注意的是:

    (1)    如果是非后台进程holder 了CF enqueue,那么kill 该进程,那么实例还可以正常运行。

    (2)如果是后台进程,如LGWR holder了,那么kill LGWR 将会导致db crash。

    为了避免kill 掉blocker 进程(后台和非后台进程),可以设置参数:

           _kill_controlfile_enqueue_blocker=false.

           这样所有blocker 进程都不会被kill 掉。即使该进程hold 了enqueue 很长时间。一般来说,最好的情况是避免kill 后台进程,允许kill 非后台进程。

           为了阻止后台进程被kill,可以在init.ora  文件里设置参数:_kill_enqueue_blocker=1,该参数默认值为3.

           当设置该参数之后,如果enqueue 被后台进程holder,该后台进程不会给kill。 所以实例不会crash。 如果enqueue被非后台进程holder,那么10.2.0.4 的机制还是会尝试去kill 非后台进程。

           Oracle保留ORA-494 的原因是用户更倾向于instance crash,如果不crash,db 就会hang住。   

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

    Blog: http://blog.csdn.net/tianlesoftware

    Email: dvd.dba@gmail.com

    DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)  

    DBA 超级群:63306533(满);  DBA4 群: 83829929  DBA5群: 142216823   

    DBA6 群:158654907  聊天 群:40132017   聊天2群:69087192

    --加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

  • 相关阅读:
    IDEA生成可执行的jar文件
    Android ROM包定制(解包,增删模块,打包)
    frida的用法--Hook Java代码篇
    C语言sprintf和sscanf函数用法
    C语言memcpy函数的用法
    自己动手编译Android(LineageOS)源码
    j2ee高级开发技术课程第三周
    linux内核学习之全局描述符表(GDT)(二)
    螺旋队列顺时针方向 和逆时针方向的实现
    zigzag数组:输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609641.html
Copyright © 2011-2022 走看看