在剛安裝完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)
-The End-