zoukankan      html  css  js  c++  java
  • oracle No more data to read from socket之ora-07445排查解决

    今天下午,原来一个部门的同事找过来,说有个即将上线的环境偶尔会出现 No more data to read from socket错误,版本是oracle 11.2.0.1,如下:

    经查,这个问题原因比较多,有oracle自己的bug,有可能配置的问题,也有可能代码上的问题。主要有如下:

    1、jdbc连接池大小问题,我们最小10、最大100,有校验有效性,此原因排除;

    2、有可能是内存不足的原因,经查看sar历史,排除此原因;

    3、有可能绑定变量偷窥问题,可设置_optim_peek_user_binds = false解决;

    上述参考:https://stackoverflow.com/questions/7839907/no-more-data-to-read-from-socket-error

    对于此类问题,首要排查的就是oracle alert和trace,根据开发反馈的时间段,果然有很多的dump:

    逐步往上排查,一共有下列几类ORA-07445:

    ORA-07445: exception encountered: core dump [pfr_v3_tab_handler()+311] [SIGSEGV] 

    确认的bug 10269022,Executing a PL/SQL block dynamically that returns a REF CURSOR fails with ORA-7445 [pfr_v3_tab_handler] – superceded,11.2.0.3修复

    ORA-07445: 出现异常错误: 核心转储 [ksuklms()+316]

    确认的bug 13322802,11.2.0.4修复

    ORA-07445: exception encountered: core dump [dbgrmqmqpk_query_pick_key()+2033] 

    确认的bug 9390347,11.2.0.2修复

    ORA-07445: exception encountered: core dump [kocgpn2()+141] [SIGSEGV] 

    这个错误号没有查到相应的bug记录。

    最后,让用户升级到11.2.0.4解决。

    除此之外,有可能是sql太复杂所致,比如sql中有with子句,with又引用了另一个with,扁平化后也可能可以解决。

  • 相关阅读:
    POJ
    HDU
    Python之列表
    列表、元组、字典总结
    Python之列表、原组、字典总结
    [P1082][NOIP2012] 同余方程 (扩展欧几里得/乘法逆元)
    [P3957][NOIP2017]跳房子 (DP+二分/队列?)
    [Codeforces896C] Willem, Chtholly and Seniorious (ODT-珂朵莉树)
    [P1005][NOIP2007] 矩阵取数游戏 (DP+高精)
    [POJ1006]生理周期 (中国剩余定理)
  • 原文地址:https://www.cnblogs.com/zhjh256/p/9580463.html
Copyright © 2011-2022 走看看