设为首页 收藏本站
查看: 501|回复: 0

[经验分享] Oracle bug之new child listener process forked

[复制链接]

尚未签到

发表于 2016-8-7 06:18:42 | 显示全部楼层 |阅读模式
客户打电话告之数据库再次出现挂起现象,于是部署oswatcher在其主机上运行,oswatcher确实是好工具,强烈推荐。
操作系统平台为
引用
$ uname -a
HP-UX hpuxa B.11.23 U ia64 4101409079 unlimited-user license


数据库版本为
引用
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for HPUX: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production


用sysdump,并用ass.awk格式化trace文件,发现数据库一切正常
引用
[iyunv@mcprod udump]# awk -f ass109.awk radinfo.trc

Starting Systemstate 1
...................................................................
Ass.Awk Version 1.0.9 - Processing radinfo.trc

System State 1
~~~~~~~~~~~~~~~~
1:                                      
2:  waiting for 'pmon timer'            wait
3:  waiting for 'rdbms ipc message'     wait
4:  waiting for 'rdbms ipc message'     wait
5:  last wait for 'rdbms ipc message'   
6:  waiting for 'rdbms ipc message'     wait
7:  waiting for 'rdbms ipc message'     wait
8:  last wait for 'rdbms ipc message'   
9:  waiting for 'log file parallel write' wait
10: waiting for 'rdbms ipc message'     wait
11: waiting for 'smon timer'            wait
12: waiting for 'rdbms ipc message'     wait
13: waiting for 'rdbms ipc message'     wait
14: waiting for 'rdbms ipc message'     wait
15: waiting for 'rdbms ipc message'     wait
16: for 'Streams AQ: waiting for time management or cleanup tasks' wait
17: waiting for 'Streams AQ: qmn coordinator idle wait' wait
18: waiting for 'db file scattered read' (7,d0279,10) wait
19: waiting for 'Streams AQ: qmn slave idle wait' wait
20: waiting for 'db file sequential read' (3,7e33,1) wait
21: last wait for 'ksdxexeotherwait'   
22: waiting for 'SQL*Net message from client' wait
23: waiting for 'SQL*Net message from client' wait
24: waiting for 'db file sequential read' (9,1,1) wait
25: waiting for 'SQL*Net message from client' wait
29: waiting for 'SQL*Net message from client' wait
31: waiting for 'SQL*Net message from client' wait
32: waiting for 'SQL*Net message from client' wait
33: waiting for 'SQL*Net message from client' wait
35: waiting for 'SQL*Net message from client' wait
36: last wait for 'SQL*Net message to client'
     Cmd: Select
37: waiting for 'SQL*Net message from client' wait
38: last wait for 'SQL*Net more data from client'
     Cmd: Update
40: waiting for 'SQL*Net message from client' wait
42: waiting for 'SQL*Net message from client' wait
43: waiting for 'SQL*Net message from client' wait
44: waiting for 'SQL*Net message from client' wait
45: waiting for 'SQL*Net message from client' wait
46: waiting for 'SQL*Net message from client' wait
47: waiting for 'SQL*Net message from client' wait
48: last wait for 'SQL*Net message to client'
     Cmd: Select
49: waiting for 'SQL*Net message from client' wait
50: waiting for 'SQL*Net message from client' wait
51: waiting for 'SQL*Net message to client' wait
     Cmd: Select
52: waiting for 'SQL*Net message from client' wait
53: waiting for 'SQL*Net message from client' wait
54: waiting for 'SQL*Net message from client' wait
55: waiting for 'SQL*Net message from client' wait
56: waiting for 'SQL*Net message from client' wait
57: waiting for 'SQL*Net message from client' wait
60: waiting for 'SQL*Net message from client' wait
64: waiting for 'SQL*Net message from client' wait
65: waiting for 'SQL*Net message from client' wait
66: waiting for 'SQL*Net message from client' wait
73: waiting for 'SQL*Net message from client' wait
74: waiting for 'SQL*Net message from client' wait
78: waiting for 'SQL*Net message from client' wait
83: waiting for 'SQL*Net message from client' wait
100:waiting for 'SQL*Net message from client' wait
109:waiting for 'SQL*Net message from client' wait
112:waiting for 'SQL*Net message from client' wait
113:waiting for 'SQL*Net message from client' wait
116:waiting for 'SQL*Net message from client' wait
117:waiting for 'SQL*Net message from client' wait
119:waiting for 'SQL*Net message from client' wait
147:waiting for 'SQL*Net message from client' wait
148:waiting for 'SQL*Net message from client' wait

NO BLOCKING PROCESSES FOUND


61789 Lines Processed.


经过一系列确认,系统挂起时系统资源一切正常。
引用
zzz ***Mon Mar 15 17:01:38 EAT 2010
         procs           memory                   page                              faults       cpu
    r     b     w      avm    free   re   at    pi   po    fr   de    sr     in     sy    cs  us sy id
    1     0     0   416503   35084  150    8     0    0     0    0     1   1807   9128   365   3  1 96
    1     0     0   416503   33641  674   37     0    0     0    0     0   1440  18941   347   2  1 97
    1     0     0   416503   35668  540   29     0    0     0    0     0   1410  16083   322   1  0 99
zzz ***Mon Mar 15 17:02:08 EAT 2010
         procs           memory                   page                              faults       cpu
    r     b     w      avm    free   re   at    pi   po    fr   de    sr     in     sy    cs  us sy id
    3     1     0   425983   27232  150    8     0    0     0    0     1   1807   9128   365   3  1 96
    3     1     0   425983   26154  693   29     0    0     0    0     0   1715  21596   462   6  4 90
    3     1     0   425983   27765  727   23     0    0     0    0     0   1725  22723   471   3  1 96
zzz ***Mon Mar 15 17:02:38 EAT 2010
         procs           memory                   page                              faults       cpu
    r     b     w      avm    free   re   at    pi   po    fr   de    sr     in     sy    cs  us sy id
    1     0     0   397676   28238  150    8     0    0     0    0     1   1807   9128   365   3  1 96
    1     0     0   397676   28772  317   38     0    0     0    0     0   1223   9243   218   5  2 93
    1     0     0   397676   30018  340   30     0    0     0    0     0   1225   9961   211   4  2 94

观察oswatcher一栏oswps中发现listener竟然派生出一个子进程
引用
1401 S   oracle  7054  2286  0 154 20 e00000012bfc34c0  588 e00000012a764d00 17:05:03 ?         0:00 /oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit
1401 R   oracle  2286     1  0 152 20 e00000013f3984c0  588                -  Feb 23  ?        28:08 /oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit


经查是Oracle bug所致。
解决方法如下
1、在监听文件里添加SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF
引用
$ more listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = RADINFO)
      (ORACLE_HOME = /oracle/product/10.2.0/db_1)
      (GLOBAL_DBNAME = RADINFO)
       )
)

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = hpuxa)(PORT = 1521))
    )
  )

SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF

2、或者在$ORACLE_HOME/opmn/conf目录下将ons.config文件移除
引用
$ pwd
/oracle/product/10.2.0/db_1/opmn/conf
$ ls -rtl
total 6
-rw-r--r--   1 oracle     dba             71 Feb 21  2006 ons.config.tmp
-rw-------   1 oracle     dba             44 Feb 28  2007 ons.config.backup.10203
-rw-------   1 oracle     dba             66 Mar 22 15:11 ons.config.bak


详见metalink。340091.1,现主要摘录如下

Solution
引用
Bug 4518443 is fixed in 10.2.0.3

- OR -

Apply Patch 4518443  for the problem (if a patch is available)

- OR -

As a workaround, the following parameter can be added to listener.ora
SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF
Where <listener_name> should be replaced with the actual listener name configured in the LISTENER.ORA file.

For example, if the listener name is LISTENER (default), the parameter would be:
SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF

This will prevent the listener from registering against ONS (Oracle Notification Services), which is the area affected by bug:4518443. For more information on ONS, please refer to eg. the Oracle10g Release 2 documentation ("Oracle Clusterware and Oracle Real Application Clusters Administration and Deployment Guide").

Please note, adding SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name> to listener.ora file on RAC, will mean that FAN (fast application notification) will not be possible. See Note 220970.1 RAC: Frequently Asked Questions for further information on FAN

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-253952-1-1.html 上篇帖子: oracle数据库 表空间'GKYTH'中无权限 下篇帖子: [zz]oracle查看所有数据库表和导入*.sql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表