TNS-12547 Linux Error: 104: Connection reset by peer
解决过程参考:http://blog.chinaunix.net/u/7121/showart_403812.html
[oracle@MyMachine log]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 23-JUN-2009 09:53:26
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /opt/oracle/product/10.2.1/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /opt/oracle/product/10.2.1/db_1/network/admin/listener.ora
Log messages written to /opt/oracle/product/10.2.1/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MyMachine.localdomain)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
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=TCP)(HOST=MyMachine.localdomain)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
解决过程:
[oracle@MyMachine log]$ more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
10.10.5.24 MyMachine.localdomain
10.10.3.254 host54.localdomain
[root@MyMachine ~]# vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost #添加
10.10.5.24 MyMachine.localdomain
10.10.3.254 host54.localdomain
重新启动监听:
[oracle@MyMachine log]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 23-JUN-2009 09:55:47
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /opt/oracle/product/10.2.1/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /opt/oracle/product/10.2.1/db_1/network/admin/listener.ora
Log messages written to /opt/oracle/product/10.2.1/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MyMachine.localdomain)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 23-JUN-2009 09:55:48
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /opt/oracle/product/10.2.1/db_1/network/admin/listener.ora
Listener Log File /opt/oracle/product/10.2.1/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MyMachine.localdomain)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
在网上搜索一下,另一种TNS-12547: TNS:lost contact的情况,具体错误如下:
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 32: Broken pipe
原因:listener.log文件超过2G
解决方法:清空日志文件
[oracle@chicago ~]$ cd $ORACLE_HOME/network/log
[oracle@chicago log]$ cat /dev/null > listener.log
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/daimin1983/archive/2009/06/23/4291661.aspx
The information in this document applies to:
Oracle Net Services - Version: 10.1.0.3
This problem can occur on any platform.
Symptoms
The listener fails to start with the following errors:
TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal seek
Generic to Unix platforms.
Cause
Wrong syntax in hosts file and also due to the the tnslsnr process was enhanced in
10.1.0.3 to support FAN(Fast Application Notification) via
ONS (Oracle Notification Services). This new code opens a socket open on localhost. Therefore
"localhost" should be defined on the system.
This new code opens a socket open on localhost. Therefore "localhost" should be defined on the
system.
Fix
Change /etc/hosts file to include
127.0.0.1 localhost.localdomain localhost
=================================