$ lsnrctl start 错误的解决
在刚安装完Oracle之后就发现监听器起不起来,每次 $lsnrctl start 都报以下错误:
[oracle@MISDWH ~]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 23-4月 -2009 16:05:21
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /opt/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...
TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal seek
所有的配置都是正确的,实在查不出问题出在哪里,上网查了N久发现答案,问题出在hosts文件的配置上,现特转载如下:
-----------------------------------------------------------------------------------------------------
TNS-12537, TNS-12560, TNS-00507 Linux Error: 29: Illegal seek error When Starting the Listener
===========================================================
作者: tolywang(
http://tolywang.itpub.net
)
发表于:2007.10.19 09:18
分类: Oracle数据库管理
出处:
http://tolywang.itpub.net/post/48/406624
---------------------------------------------------------------
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
------------------------------------------------------------------
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.
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
================================================
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
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 .
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
...
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
tolywang 发表于:2007.10.19 09:18 ::分类: ( Oracle数据库管理 ) ::阅读:(1779次) :: 评论 (0) :: 引用 (0)