Oracle数据库的监听器挂起情况
1、客户端连接不上数据库。
2、查看数据库的实例状态为OPEN,并且alert_SID.log没有错误
3、查看数据库监听器时出现下面的信息:
$ lsnrctl status
LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.1.0 - Production on 05-DEC-
2011 09:13:49
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=testdb)(PORT=1568)))
不能正常查询出监听实例的信息,就一直不动了。好像挂起的现象。
Lsnrctl stop, lsnrctl start都不能正常执行,情况像lsnrctl status一样。
解决:
在OS中杀死lsnrct的进程
查询:
$ ps -ef|grep lsnr
oraoms 598058 1 0 Oct 08 - 28:38 /home/oraoms/OraHome_1/bin/tn
slsnr LISTENER -inherit
oraoms 970884 1790128 0 09:19:21 pts/0 0:00 grep lsnr
oraoms 1814580 598058 0 07:26:15 - 0:00 /home/oraoms/OraHome_1/bin/tn
slsnr LISTENER -inherit
$
杀死进程:
$ kill 1814580
$ ps -ef|grep lsnr
oraoms 598058 1 1 Oct 08 - 28:38 /home/oraoms/OraHome_1/bin/tn
slsnr LISTENER -inherit
oraoms 1007764 1790128 0 09:19:42 pts/0 0:00 grep lsnr
$ kill 598058
$ ps -ef|grep lsnr
oraoms 598060 1790128 0 09:20:00 pts/0 0:00 grep lsnr
$ lsnrctl status
LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.1.0 - Production on 05-DEC-
2011 09:20:04
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=testdb)(PORT=1568)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
$
再次启动监听器,则可以解决。
$ lsnrctl start