linux oracle10.2.0.1 lsnrctl無法啓動

故障现象:lsnrctl stat后即无任何反应,而SQLPLUS正常:

[oracle@wlserver3 ~]$ lsnrctl stat

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 13-SEP-2011 23:16:11

Copyright (c) 1991, 2005, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))

尝试ps -ef|grep lsnrctl后kill -9 杀进程,但杀后重启时也碰到同样问题

尝试ps -ef|grep lsnr(注意和上述命令的区别少了ctl)后kill -9 杀进程,后重启成功

[root@wlserver3 admin]# ps -ef|grep lsnr

oracle 3067 16807 0 Sep10 ? 00:00:01 /oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit

oracle 16807 1 0 Jul08 ? 00:02:07 /oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit

oracle 18378 18350 0 Sep13 pts/1 00:00:00 lsnrctl stat

oracle 18386 18350 0 Sep13 pts/1 00:00:00 lsnrctl stat

oracle 18423 18350 0 Sep13 pts/1 00:00:00 lsnrctl stat

root 19686 18480 0 01:18 pts/3 00:00:00 grep lsnr

[root@wlserver3 admin]# kill -9 3067

[root@wlserver3 admin]# kill -9 16807

重启成功:

oracle@wlserver3 bdump]$ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 14-SEP-2011 01:21:35

Copyright (c) 1991, 2005, Oracle. All rights reserved.

Starting /oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production

System parameter file is /oracle/product/10.2.0/db_1/network/admin/listener.ora

Log messages written to /oracle/product/10.2.0/db_1/network/log/listener.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))

STATUS of the LISTENER

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

Alias LISTENER

Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date 14-SEP-2011 01:21:37

Uptime 0 days 0 hr. 0 min. 0 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File /oracle/product/10.2.0/db_1/network/log/listener.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

[oracle@wlserver3 bdump]$

补充:处理过程中看到过一个10.2.0.1环境下的BUG,也一并修复掉了

10g Listener: High CPU Utilization - Listener May Hang [ID 284602.1]

Symptoms
1) If the listener is hanging, a sqlnet trace (level 16) will show that the last operation was a fork.

[000068 28-SEP-2004 14:16:17:398] sntpcall: entry
[000068 28-SEP-2004 14:16:17:401] sntpcall: detaching from parent with additional fork 68 bytes to NS buffer

2) netstat -na reports numerous (maybe thousands) of sockets associated with port 6100 in a TIME_WAIT status

127.0.0.1.6100 127.0.0.1.55228 49152 0 49152 0 TIME_WAIT
127.0.0.1.6100 127.0.0.1.55229 49152 0 49152 0 TIME_WAIT
127.0.0.1.6100 127.0.0.1.55230 49152 0 49152 0 TIME_WAIT
127.0.0.1.6100 127.0.0.1.55231 49152 0 49152 0 TIME_WAIT
127.0.0.1.6100 127.0.0.1.55232 49152 0 49152 0 TIME_WAIT

3) "sdtprocess" (Solaris), or "top" show that the listener process (tnslsnr) is using a large amount of cpu.

ID Name Owner CPU% RAM Size Started Parent
-----------------------------------------------------------------------------------------------
21145 tnslsnr mseibt 44 9440 22368 13:36:03 1 /u01/app/oracle/product/10.1.0/bin/tnslsnr LISTENER -inherit

4) The 10g(iAS) $ORACLE_HOME/opmn/log on the same system shows the following repeating error in the ons logs:

04/10/01 13:30:43 [4] Local connection 0,127.0.0.1,6100 missing form factor
04/10/01 13:30:43 [4] Local connection 0,127.0.0.1,6100 missing form factor
04/10/01 13:30:43 [4] Local connection 0,127.0.0.1,6100 missing form factor
04/10/01 13:30:43 [4] Local connection 0,127.0.0.1,6100 missing form factor
04/10/01 13:30:43 [4] Local connection 0,127.0.0.1,6100 missing form factor

Changes
- Both 10g(iAS) and Oracle 10g(rdbms) are installed on the same system.
- Oracle 10g (non-RAC) is installed on a system with or without other Oracle installations.

Cause
The Oracle Notification Server (ONS) running in the 10g(iAS) home uses the ports defined in $ORACLE_HOME/opmn/conf/ons.config. The database listener, which is an ONS client, also utilizes the ONS ports identified in its own $ORACLE_HOME/opmn/conf/ons.config. When 10g(iAS) and 10g(rdbms) are installed on the same box, the installer will mistakenly configure identical ONS ports in both homes which creates an operational conflict when both the 10g(iAS) ONS and 10g(rdbms) listener services are running.

In non-RAC environments where Oracle 10g is the only Oracle product on the system, the existence of the ons.config may still cause a hang condition in the listener.

Solution
This issue is corrected in versions 10.2.0.3 and higher.
(or apply backport patch <<4518443>>)

You may also use either of the following 2 workarounds to address this problem:

1) In the 10g(rdbms) home, rename the $ORACLE_HOME/opmn/conf/ons.config file (so that the listener does not find or use it).

For example:

cd $ORACLE_HOME/opmn/conf
mv ons.config ons.config.orig

(then restart the listener)

- or -

2) Explicitly disable the 10g TNS Listener from subscribing to the ONS.

Edit the active 10g listener.ora file and add the parameter below:

SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF

where <listener_name> would 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

(then restart the listener)

References
BUG:3881276 - LISTENER HANGS INTERMITTANTLY AFTER APPLYING 10.1.0.3 PATCHSET
BUG:6017068 - PMON SPINNING IN NETWORKING CODE

本文出自 “麦地坞” 博客,请务必保留此出处http://yunlongzheng.blog.51cto.com/788996/663511

更多相关文章
一周排行
  • 


    		    用jQuery Mobile做HTML5移動應用的三個優缺點
    JQuery Mobile & HTML5 使用HTML5和JavaSript构建 ...
  • 通过案例学调优之--Index FULL SCAN和Index FAST FULL SCAN Index FULL SCAN 和ndex FAST FULL SCAN工作原理: Index FULL SCAN 和In
  • 使用inspectdb  --通过已有数据库表生成 model.pyinspectdb辅助工具检查你的settings文件指向的数据库,决定你表示你的表的Django模型并打印Python模型代码到标准输出 这里是典
  •   该属性用与决定该消息接收者(UIView instance)是否让其视图不透明. 其用处在于:给绘图系统提供一个性能优化开关.如果该值为YES, 那么绘图在绘制该视图的时候把整个视图当作不透明对待.这样,绘图系统
  • GaussPOJ1753 Flip Game
      题意:给4×4的棋盘的初始状态,b代表黑,w代表白. 要求变成全黑或者全白 最少需要几
  • //  [7/31/2014 Sjm] /* 看到此题直接先打表找规律(数学很糟糕,不会用公式推,只好打表找规律) 发现循环周期 T = A和B的最小公倍数 于是依靠区间 [min(a, b), T] 去求一个周期内
  • 1024: SCOI2009生日快樂
    暴力题,N<=10,没注意到平均分,读题真是.. 我们对于一个矩形分成两块进行搜.然 ...
  •     TdxMemData控件可以把DataSet数据库保存在内存中,并显示在TdxDBGrid上,而通过dxmdt1.FieldByName('字段').value得到当前光标所在值.通过while遍历 整个数据
  •     我们的一个服务是用Go写的,在测试的时候发现几个小时之后它就会core掉,而且core的时候没有打出任何堆栈信息,简单分析后发现该服务中的几个HTTP服务的连接数不断增长,而我们的开发机的fd limit只有
  • 项目管理:PMP.IPMP.CPMP之间区别 PMP介绍:1969年的美国项目管理协会(PMI)走在了前列,PMI在全球有20多万会员,被160多个国家和地区认可.PMP资格认证考试范围,主要涉及PMI制定并被公认为