遇到的报错如下:
sbdb:/home/oracle$lsnrctl status
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.2.0 - Production on 22-NOV-2015 02:50:52
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cnsb)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.2.0 - Production on 22-NOV-2015 02:50:52
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cnsb)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
sbdb:/home/oracle$lsnrctl start
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.2.0 - Production on 22-NOV-2015 02:50:52
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cnsb)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 29: Illegal seek
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.2.0 - Production on 22-NOV-2015 02:50:52
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cnsb)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 29: Illegal seek
查了好久也没找到原因,主要问题出在/etc/hosts文件上,“127.0.0.1 localhost” 被注释了,回想起来可能是无意中被注释掉的 。
下面转载正对该报错的相关解释:
TNS-12537, TNS-12560, TNS-00507 Linux Error: 29: Illegal seek error When Starting the Listener
Subject: TNS-12537, TNS-12560, TNS-00507 Linux Error: 29: Illegal seek error When Starting the Listener
Doc ID: Note:294730.1 Type: PROBLEM
Last Revision Date: 16-JAN-2005 Status: MODERATED
Doc ID: Note:294730.1 Type: PROBLEM
Last Revision Date: 16-JAN-2005 Status: MODERATED
------------------------------------------------------------------
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.
------------------------------------------------------------------
The information in this document applies to:
Oracle Net Services - Version: 10.1.0.3
This problem can occur on any platform.
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.
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.
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.
system.
Fix
Change /etc/hosts file to include
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost.localdomain localhost
================================================
Subject: 10g TNS Listener Fails To Start With Errors: TNS-12537...Error: 29: Illegal seek
Doc ID: Note:315720.1 Type: PROBLEM
Last Revision Date: 26-SEP-2007 Status: MODERATED
--------------------------------------------------------------------------------
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.
--------------------------------------------------------------------------------
Applies to:
Oracle Net Services - Version: 10.1.0.0 to 10.2.0.2
This problem can occur on any platform.
Symptoms
Unable to start an Oracle10g R1 (or R2) TNS Listener on Unix:
For example:
$ lsnrctl start
LSNRCTL for HPUX: Version 10.1.0.4.0 - Production on 01-JUL-2005 10:16:59
Copyright (c) 1991, 2004, Oracle. All rights reserved.
Starting /db02/product/10.1/bin/tnslsnr: please wait...
TNS-12537: TNS:connection closed
TNS-12560: TNS:proto adapter error
TNS-00507: Connection closed
HPUX Error: 29: Illegal seek
LSNRCTL for HPUX: Version 10.1.0.4.0 - Production on 01-JUL-2005 10:16:59
Copyright (c) 1991, 2004, Oracle. All rights reserved.
Starting /db02/product/10.1/bin/tnslsnr: please wait...
TNS-12537: TNS:connection closed
TNS-12560: TNS:proto adapter error
TNS-00507: Connection closed
HPUX Error: 29: Illegal seek
Changes
Verify the user attempting to start the TNS Listener process has read permissions on the /etc/hosts file, and that this file contains the localhost entry:
127.0.0.1 localhost.localdomain localhost
192.168.2.20 prfinders.us.oracle.com prfinders .
192.168.2.20 prfinders.us.oracle.com prfinders .
Cause
TNS Listener fails while attempting to initiate subscription to ONS node down event.
Level 16 TNS Listener trace shows the last action:
...
[01-JUL-2005 10:16:59:727] nsglonsinit: Initiated subscription for node down event
...
[01-JUL-2005 10:16:59:727] nsglonsinit: Initiated subscription for node down event
...
Same symptoms and corrective action found in Bug 4227455 OCS_MAIN_SOLARIS_050304 - UNABLE TO START THE SECOND LISTENER of if OS User is unable to read the /etc/hosts file.
Solution
To implement the solution, please execute the following steps:
1. Explicitly disable the 10g TNS Listener's subscrition to ONS by editing the listener.ora file and add the parameter below:
SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF
where <listener_name> would be replaced with the actual listener name configured in the listener.ora file.
For example, if the listener name is LISTENER (default), the parameter would be:
SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF
- Save the listener.ora file
2. Start the TNS Listener from a new LSNRCTL prompt:
lsnrctl <return>
LSNRCTL> start
References
Note 284602.1 - 10g Listener: High CPU Utilization - Listener May HangNote 294730.1 - TNS-12537, TNS-12560, TNS-00507 Linux Error: 29: Illegal seek error When Starting the Listener
Errors
TNS-12560 "TNS:protocol adapter error"TNS-12537 TNS:connection closedTNS-507 "Connection closed"
Keywords