系统环境:
REDHAT LINUX5.4 + ORACLE10.2.0.4,是通过虚拟机复制另外一台数据库系统环境后安装ORACLE获得。
故障现象:
ORACLE安装正常,本地服务正常,本地数据通过IMP可以正常导入,但是LSNRCTL能够启动,但我们要的port服务未能正常监听。
[oracle@L-DB-100-27 ~]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 24-8月 -2012 10:45:15
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Start Date 24-8月 -2012 10:45:00
Uptime 0 days 0 hr. 0 min. 15 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.100.27)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
查看listener.ora和tnsnames.ora设置中的设置,未见异常。但当尝试把HOST从IP修改成HOSTNAME时却出现监听无法启动的现象。
# listener.ora Network Configuration File: /home/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.100.27)(PORT = 1521))
)
)
# tnsnames.ora Network Configuration File: /home/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ZJPORT =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.100.27)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = zjport)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
查看HOSTNAME,发现正常
[oracle@L-DB-100-27 ~]$ hostname
L-DB-100-27
但查看/etc/hosts配置,发现了问题,显然L-DB-100-17并不是本机的HOSTNAME
[oracle@L-DB-100-27 ~]$ more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
#172.16.100.17 L-DB-100-17 localhost.localdomain localhost
127.0.0.1 L-DB-100-17 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
通过VI修改HOSTNAME为L-DB-100-27,尝试重启lsnrctl,发现启动不了(提示已经启动)。
明明已经lsnrctl stop过,
通过ps -ef|grep lsnrctl也未发现相关进程
重启操作系统
shutdown -r now
启动ORACLE服务(正常)
启动监听(正常--问题解决)
[oracle@L-DB-100-27 ~]$ lsnrctl stat
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 24-8月 -2012 10:46:16
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Start Date 24-8月 -2012 10:45:00
Uptime 0 days 0 hr. 1 min. 15 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=L-DB-100-27)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "port" has 1 instance(s).
Instance "port", status READY, has 1 handler(s) for this service...
Service "portXDB" has 1 instance(s).
Instance "port", status READY, has 1 handler(s) for this service...
Service "port_XPT" has 1 instance(s).
Instance "port", status READY, has 1 handler(s) for this service...
The command completed successfully