Friday, February 14, 2014

TNS-12557: TNS:protocol adapter not loadable & TNS-12555 TNS:permission denied

unable start/stop/status the listener in 10g database, was getting below error.

No longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=1521)))
TNS-12557: TNS:protocol adapter not loadable
 TNS-12560: TNS:protocol adapter error
  TNS-00527: Protocol Adapter not loadable



 ls -ld /var/tmp
drwxrwx--T 11 root root 4096 Feb 13 23:07 /var/tmp


Reason: Permission issue on /var/tmp/.oracle directory.
               Can be an older installation of Oracle with different ownership of oracle OS user, Where oracle will create some socket files.

Solution: 
             Change the permissions for /var/tmp/.oracle directory to 01777 as root. Still if you see the same error remove the .oracle ditrectory from /var/tmp.

We could not find any info in the listener.log file then we enabled the trace for listener and found that it is permission issue on directory f/s.

vi listener.ora
TRACE_LEVEL_LISTENER= 16 (OFF default)


 ls -ld /var/tmp
drwxrwx--T 11 root root 4096 Feb 13 23:07 /var/tmp

changed permissions to 01777

ls -ld /var/tmp/.oracle
drwxrwxrwt 2 root root 4096 Sep 23 23:08 /var/tmp/.oracle

still same issue..

26> lsnrctl start

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 14-FEB-2014 02:30:32

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

Starting /opt/oracle/product/10.2.0.4/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production
System parameter file is /var/opt/oracle/listener.ora
Log messages written to /opt/oracle/admin/sql_net/listener.log
Trace information written to /opt/oracle/admin/sql_net/listener.trc
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=1521)))
Error listening on: (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
TNS-12555: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
  TNS-00525: Insufficient privilege for operation
   Linux Error: 1: Operation not permitted


ls -lrrt .oracle*
total 0
srwxrwx--- 1 root root 0 Jul 14  2010 s#11020.2
srwxrwx--- 1 root root 0 Jul 14  2010 s#11020.1
srwxrwx--- 1 root root 0 Sep 23 23:08 sPNPKEY
srwxrwx--- 1 root root 0 Sep 23 23:08 s#8696.2
srwxrwx--- 1 root root 0 Sep 23 23:08 s#8696.1

Then as root removed the existing .oracle directory and recreated same structure as owner root:dba 


ls -rlt .oracle*
total 0
srwxr-x--- 1 oracle dba 0 Feb 14 02:43 sPNPKEY
srwxr-x--- 1 oracle dba 0 Feb 14 02:43 s#8696.2
srwxr-x--- 1 oracle dba 0 Feb 14 02:43 s#8696.1
srwxr-x--- 1 oracle dba 0 Feb 14 02:43 s#11020.2
srwxr-x--- 1 oracle dba 0 Feb 14 02:43 s#11020.1


lsnrctl start

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 14-FEB-2014 02:50:23

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

Starting /opt/oracle/product/10.2.0.4/bin/tnslsnr: please wait...

.. ..
.....
 ...

The listener supports no services
The command completed successfully


ps -ef|grep tns
oracle    1881  9043  0 04:28 pts/2    00:00:00 grep tns
oracle    8391     1  0 02:53 ?        00:00:00 /opt/oracle/product/10.2.0.4/bin/tnslsnr LISTENER -inherit






No comments:

Post a Comment