今天遇到一个关于lsnrctl不能启动的问题。故障如下:
键入:lsnrctl start 监听启动,情况如下图:
[oracle@oracle11g ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 31-AUG-2010 06:50:14 Copyright (c) 1991, 2007, Oracle. All rights reserved.
键入:lsnrctl status,情况如下:
[oracle@oracle11g ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.1.0.6.0 -
Production on 31-AUG-2010 06:51:11
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle11g)(PORT=1521)))
这个问题我也是第一次遇到,于是查看了一下listener.ora和tnsnames.ora
listener.ora内容如下:
[oracle@oracle11g admin]$ more listener.ora
# listener.ora Network Configuration File:
/u01/oracle/product/11.1.0/dbhome_1/n
etwork/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
tnsnames.ora内容如下:
[oracle@oracle11g admin]$ more tnsnames.ora
# tnsnames.ora Network Configuration File:
/u01/oracle/product/11.1.0/dbhome_1/n
etwork/admin/tnsnames.ora
# Generated by Oracle configuration tools.
WILSON =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = wilson)
)
)
没发现有什么问题。于是使用netca重新配置listener,配到一般的时候就不动了。新建一个listener也是这样的问题。
因为看到listener.ora和tnsnames.ora中的“HOST = oracle11g”,所以想到是不是IP地址和主机名不符,于是ping了一下,结果ping不通。
查看/etc/hosts,结果如下:
[oracle@oracle11g admin]$ more /etc/hosts
# Do not remove the following line, or
various programs
# that require network functionality will
fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.2 oracle11g
这才恍然大悟,原来是IP地址和主机名有误。这台电脑现在的IP地址是192.168.1.2。于是修改/etc/hosts中的IP地址为:192.168.1.2。重新运行lsnrctl start,listener成功启动。
总结:
这次listener的问题完全是由于修改IP地址的引起的。
以后修改IP地址的时候要注意修改/etc/hosts,不过以后还是不要修改IP地址了。
Tao
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7351078/viewspace-673904/
,如需转载,请注明出处,否则将追究法律责任。