Skip to content

TNS 12537

遭遇Listener hang 报错TNS-12537

数据库版本10201
客户端报错TNS-12537
具体信息参考如下官方说法:

APPLIES TO:

Oracle Net Services - Version: 10.2.0.4 to 11.2.0.1 - Release: 10.2 to 11.2
Information in this document applies to any platform.
SYMPTOMS

TNS listener hangs every 49.7 days. Parameter RATE_LIMIT is set in the listener.ora file.
Level 16 listener trace for the hang shows the following functions:
[000001 17-MAY-2011 23:30:42:953] nstoSetupTimeout: entry
[000001 17-MAY-2011 23:30:42:953] nstoSetupTimeout: MTO enabled for ctx=0x1002bcaf0, val=-47967511(millisecs)
[000001 17-MAY-2011 23:30:42:953] nstoUpdateActive: entry
[000001 17-MAY-2011 23:30:42:953] nstoUpdateActive: Active timeout is 5 (see nstotyp)
[000001 17-MAY-2011 23:30:42:953] nstoControlMTO: MTO enabled for ctx=0x1002bcaf0, val=-47967511(millisecs)
[000001 17-MAY-2011 23:30:42:953] nstoControlMTO: exit (0)
[000001 17-MAY-2011 23:30:42:954] nsglhc: At Connection Rate Limit. Muted Request.
[000001 17-MAY-2011 23:30:42:954] nsglhe: exit
[000001 17-MAY-2011 23:30:42:954] nsevwait: entry
[000001 17-MAY-2011 23:30:42:954] nsevwait: 4 registered connection(s)
[000001 17-MAY-2011 23:30:42:954] nsevwait: 0 pre-posted event(s)
[000001 17-MAY-2011 23:30:42:954] nsevwait: waiting for transport event (1 thru 5)...

When the listener is hung, client reports error code ORA-12537

CAUSE

The cause of this problem has been identified in Bug:8529537 All New Connections Are refused By ORA-12547 After TNS-01158 in Listener.log. It is caused by that is negative figure (buffer overflow) for inbound_connect_timeout function call.
SOLUTION

Issue is fixed in Patch Set 11.2.0.2 and future release 12.1
One off fixes are available via Patch:8529537
RATE_LIMIT parameter can be disabled as a workaround.

最终去掉RATE_LIMIT参数重启监听解决