今天遇到一个关于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博客 ” ,链接:http://blog.itpub.net/7351078/viewspace-673904/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7351078/viewspace-673904/