Saturday, July 10, 2010

While startup listener it fails with HPUX Error: 29: Illegal seek

Problem Description
While issuing "lsnrctl start" command on HP-UX it fails with HPUX Error: 29: Illegal seek error like below.
ORACLE:/home>lsnrctl start 

LSNRCTL for HPUX: Version 10.2.0.4.0 - Production on 09-JUL-2010 22:19:41

Copyright (c) 1991, 2007, Oracle. All rights reserved.

Starting /SIDS/app/oracle/product/10.2.0/db/bin/tnslsnr: please wait...

TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
HPUX Error: 29: Illegal seek
"lsnrctl status" command also with error HPUX Error: 239: Connection refused
ORACLE:/home>lsnrctl status 

LSNRCTL for HPUX: Version 10.2.0.4.0 - Production on 09-JUL-2010 22:33:21

Copyright (c) 1991, 2007, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1621)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
HPUX Error: 239: Connection refused
On Linux, the error stack may look like this:
TNS-12547: TNS:lost contact 
TNS-12560: TNS:proto adapter error
TNS-00517: Lost contact
Linux IA64 Error: 104: Connection reset by peer

Cause of the Problem
The problem happened due to incorrect settings of /etc/hosts file or host user is unable to read the /etc/hosts file. TNS Listener fails while attempting to initiate subscription to ONS node down event.

Solution of the Problem
1) Verify that OS user has permission on /etc/hosts file.
$ls -l /etc/hosts

2) Verify that the /etc/hosts file contains the localhost entry in the following form:

127.0.0.1 localhost.localdomain localhost
10.1.10.2 myhost.arjudba.blogspot.com myhost

3) If you are not in RAC environment explicitly disable the 10g TNS Listener's subscription to ONS by editing the listener.ora file and add the parameter below in the listener.ora file.

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 (which is default listener), the parameter would be:

SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF

4) Start the listener.
$ lsnrctl start

1 comment: