Listener Hanging - Information to Get For Resolving or Troubleshooting (Doc ID 230156.1)

In this Document

 Purpose
 Scope
 Details

APPLIES TO:

Oracle Net Services - Version 8.1.7.4 to 11.2.0.4 [Release 8.1.7 to 11.2]
Information in this document applies to any platform.
***Checked for relevance on 7-MAY-2014.***

PURPOSE

This note is to assist and gather relevant information in troubleshooting issues concerning the TNS Listener hanging.  This note only applies to listeners hanging while running; it does not apply to listeners not starting.

The note is divided into three sections:

  • Questions to be Addressed
  • Technical Data to Obtain
  • Recommendations to Immediately Provide Relief of a Hanging Listener

SCOPE

It is crucial that all questions and information be answered and supplied.


DETAILS

Questions to be Addressed
Example answers are given in the yellow blocks to demonstrate what type of information is expected.

1. What is the version and bit of the OS and of the Oracle software?

Example Answer: Linux Redhat AS4 64bit.  Oracle 10.2.0.3 64 bit


2. Can you predict when the hang will occur?

Example Answer: The listener seems to hang after it has been running for a few days


3. What is the system load at the time of the hang?

Example Answer: I have not noticed any heavy load at the time the listener hangs.  Just normal usage.


4. Can a bequeath connection be made to Oracle when the listener hangs?

Example Answer: Yes, "sqlplus system/manager" works while the listener is hung.


5. Is Shared Server being used

Example Answer: Yes, shared server is configured


6. Is this listener a part of a RAC environment.

Example Answer: No, this is a standalone listener.


Technical Data to Obtain

1. Level 16 trace file of the listener.

  • If this is an 11g listener, add this parameter to the listener.ora file before adding any other tracing parameters.
DIAG_ADR_ENABLED_listenername = OFF

 

  • If the listener hangs relatively quickly, add this parameter to the listener.ora file and restart the listener
TRACE_LEVEL_listenername = 16

 

  • If the listener hangs after a long amount of time (more than 24 hrs), use cyclic tracing and add these parameters to the listener.ora file.  These parameters cycle between two 500MB trace files.
TRACE_LEVEL_listenername = 16
TRACE_FILELEN_listenername = 512000
TRACE_FILENO_listenername = 2


2. An RDA.  Follow these notes

Note:314422.1    "Remote Diagnostic Agent (RDA) 4 - Overview"

Optional Notes:
Note:330363.1    "Remote Diagnostic Agent (RDA) 4 - FAQ"
Note:330344.1    "Remote Diagnostic Agent (RDA) 4 - Training"
Note:330362.1    "Remote Diagnostic Agent (RDA) 4 - Troubleshooting Guide"


3. The listener.log file

4. Stack traces of the hung listener process.  Provide 3 stack traces - one about every 30 seconds.

Solaris pstack <listener_pid>
AIX (pre 5.2) Type: dbx -a <listener_pid>
At the next prompt, type: where
AIX (5.2 and higher) procstack <listener_pid>
HPUX Type: gdb $ORACLE_HOME/bin/tnslsnr <listener_pid>
At the next prompt, type: where
Linux Type: gdb $ORACLE_HOME/bin/tnslsnr <listener_pid>
At the next prompt, type: where


5. Memory usage of the listener.  These samples should be taken when the listener is started, after the listener is started during normal usage, and at the time of the hang.  The idea is to test for large growths of memory consumption.

Solaris pmap -x <listener_pid>
AIX (5.2 +) procmap <listener_pid>
HPUX export UNIX95=1
ps -e -o pid, ruser, vsz, args | grep tnslsnr
Linux cat /proc/<listener_pid>/status


6. CPU usage of the listener at the time the listener hangs:
Providing a "top" output showing the tnslsnr processes is the easiest way to provide this information


Recommendations to Immediately Provide Relief of a Hanging Listener

1. The listener should always be patched to the latest release of the current version being used. Ideally, the listener should be patched to the newest and latest production release of Oracle itself. There is no need to upgrade the database. Example upgrade paths (at the time of this writing):

  • A 10.1.0.2 listener should be upgraded to 10.1.0.5
  • A 11.1.0.6 listener should be upgraded to 11.1.0.7

2. Try running the listener on a different port (it is possible a 3rd party application may be interfering)

3. (Pre 11g) Keep the listener.log file small in size.  It is mandatory the listener.log file be less than 2GB in size in releases prior to 11g.  Not doing so results in process instability, random crashes, and random hangs

4. If listener load is high, try starting a second listener and configure load balancing to assist with connection load.

5. Add the parameter  DIRECT_HANDOFF_TTC_listenername=OFF to the listener.ora file and restart the listener.

6. In a non-RAC environment, add the parameter SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF to the listener.ora file and restart the listener.

7. Verify the operating system is running at its most current level.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值