问题:登录服务器时 报无监听服务
检查步骤:
1、进入sqlplus查看数据库的状态,显示当前数据库的状态为OPEN
脚本:select status from v$Instance;
2、检查数据库的监听服务,登录的时候发现进入监听程序的速度非常慢
脚本:lsnrctl status
3、查看监听日志的大小,位置如下:
$ORACLE_BASE\diag\tnslsnr\<hostname>\listener\trace\
5、重启启动监听即可;
lsnrctl stop 停止
lsnrctl start 启动
6、当前的问题已经解决了,保证系统能够正常运行,但是这是一个治标不治本的方法,因此又登录metalink查找相应的解决方法,以下摘自Metalink:
1)问题的原因:当 listener.log大小达到4G
The listener.log has reached the file size limit (on Windows) of 4G. This issue is described in published bug:
Bug:9879101 THE
CONNECT THROUGH LISTENER WAS SLOW WHEN LISTENER LOG GREW to 4GB
2) 出现该BUG问题的平台
Oracle Net Services - Version 11.1.0.7 to 11.2.0.4 [Release 11.1 to 11.2]
Microsoft Windows (32-bit)
Microsoft Windows x64 (64-bit)
This issue is limited to the Windows OS.
***Checked for relevance on 14-OCT-2013***
3)出现该BUG的症状
The listener is hung or is extremely slow to respond.
Tnspings to the listener take a very long time (seconds) to respond or the ping hangs completely.
Lsnrctl utility commands are either hanging or slow to respond.
ADR Diagnostics are enabled in this environment and the flat file
TNSListener log file is at or approaching the size of 4 gigabytes.
4)解决方法:关闭监听写日志
脚本:
LSNRCTL>set current_listener <listener_name>
LSNRCTL>set log_status OFF
LSNRCTL>save_config