oracle 中,监听无法启动的原因。TNS-12537: TNS:connection closed

 

原文地址:http://space.itpub.net/index.php?action/viewspace/itemid/84958

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

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_=OFF

where 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

LSNRCTL> start

你可能感兴趣的:(Oracle)