TNS-12547,Linux Error: 104: Connection reset by peer
配置开启oracle listener 的时候报这个错,google 了一下 ,原文链接:http://space.itpub.net/35489/viewspace-629063
修改了一下 /etc/hosts 文件 将 127.0.0.1 localhost.localdomain localhost
重启监听就好了。
Listener.ora 文件如下,配置应该没有错误:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.13.13.188)(PORT = 1526))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/product/oracle)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = b2b)
(ORACLE_HOME = /u01/product/oracle)
(SID_NAME = b2b)
)
)
开启监听的时候报错 :
MXB2B-WEB01<*b2b*/home/oracle>$lsnrctl start
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 09-MAR-2010 13:53:34
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Starting /u01/product/oracle/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.4.0 - Production
System parameter file is /u01/product/oracle/network/admin/listener.ora
Log messages written to /u01/product/oracle/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.13.13.188)(PORT=1526)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.13.13.188)(PORT=1526)))
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 104: Connection reset by peer
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
后来发现 /etc/hosts 中的 127.0.0.1 对应的不是localhost 而是实际的主机名称,如下:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 MXB2B-WEB01
10.13.13.188 MXB2B-WEB01
修改/etc/hosts 为下面的形式 :
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
10.13.13.188 MXB2B-WEB01
再次开启监听, OK .
MXB2B-WEB01<*b2b*/home/oracle>$lsnrctl start
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 09-MAR-2010 13:56:42
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Starting /u01/product/oracle/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.4.0 - Production
System parameter file is /u01/product/oracle/network/admin/listener.ora
Log messages written to /u01/product/oracle/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.13.13.188)(PORT=1526)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.13.13.188)(PORT=1526)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Start Date 09-MAR-2010 13:56:44
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/product/oracle/network/admin/listener.ora
Listener Log File /u01/product/oracle/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.13.13.188)(PORT=1526)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "b2b" has 1 instance(s).
Instance "b2b", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully