Blog dedicated to Oracle Applications (E-Business Suite) Technology; covers Apps Architecture, Administration and third party bolt-ons to Apps

Tuesday, December 23, 2008

TNS 12546, 12560, 00516, Solaris Error 13

Srinivas Reddy mailed with the following error:

$ lsnrctl start erp11i

LSNRCTL for Solaris: Version 10.2.0.3.0 - Production on 30-DEC-2008 17:16:23

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

Starting /erp11i/oracle/10.2.0/bin/tnslsnr: please wait...

TNSLSNR for Solaris: Version 10.2.0.3.0 - Production System parameter file is /erp11i/oracle/10.2.0/network/admin/erp11i_erp11i/listener.ora
Log messages written to /erp11i/oracle/10.2.0/network/admin/erp11i.log
Error listening on: (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROCerp11i))
TNS-12546: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
  TNS-00516: Permission denied
   Solaris Error: 13: Permission denied

Listener failed to start. See the error message(s) above...

I did a truss lsnrctl start erp11i and found this in the result:

uname(0xFFFFFFFF7F2DACC8)                       = 1
access("/var/tmp/.oracle", F_OK)                = 0
chmod("/var/tmp/.oracle", 01777)                Err#1 EPERM [ALL]
so_socket(PF_UNIX, SOCK_STREAM, 0, "", SOV_DEFAULT) = 4 access("/var/tmp/.oracle/sEXTPROCerp11i", F_OK) = 0 connect(4, 0xFFFFFFFF7FFF7AE0, 110, SOV_DEFAULT) Err#146 ECONNREFUSED access("/var/tmp/.oracle/sEXTPROCerp11i", F_OK) = 0 pollsys(0x00000000, 0, 0xFFFFFFFF7FFF7910, 0x00000000) = 0
close(4)                                        = 0
so_socket(PF_UNIX, SOCK_STREAM, 0, "", SOV_DEFAULT) = 4 connect(4, 0xFFFFFFFF7FFF7AE0, 110, SOV_DEFAULT) Err#146 ECONNREFUSED access("/var/tmp/.oracle/sEXTPROCerp11i", F_OK) = 0 pollsys(0x00000000, 0, 0xFFFFFFFF7FFF7910, 0x00000000) = 0
close(4)                                        = 0
so_socket(PF_UNIX, SOCK_STREAM, 0, "", SOV_DEFAULT) = 4 connect(4, 0xFFFFFFFF7FFF7AE0, 110, SOV_DEFAULT) Err#146 ECONNREFUSED access("/var/tmp/.oracle/sEXTPROCerp11i", F_OK) = 0

I checked the ownership of /var/tmp/.oracle/sEXTPROCerp11i :

$ ls -ld /var/tmp/.oracle/sEXTPROCerp11i
srwxrwxrwx   1 oraprod    dbaprod          0 Oct 25 20:05 /var/tmp/.oracle/sEXTPROCerp11i

The correct owner for this instance was oraerp:dbaerp

$ file /var/tmp/.oracle/sEXTPROCerp11i
/var/tmp/.oracle/sEXTPROCerp11i:      socket

Because this socket is owned by oraprod:dbaprod, the socket can't be accessed by oraerp. 

The simple solution is to login as oraerp:

sudo -u oraerp -i
rm /var/tmp/.oracle/sEXTPROCerp11i
exit
sudo -u oraerp

$ lsnrctl start erp11i

LSNRCTL for Solaris: Version 10.2.0.3.0 - Production on 30-DEC-2008 18:10:00

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

Starting /erp11i/oracle/10.2.0/bin/tnslsnr: please wait...

TNSLSNR for Solaris: Version 10.2.0.3.0 - Production System parameter file is /erp11i/oracle/10.2.0/network/admin/erp11i_erp11i/listener.ora
Log messages written to /erp11i/oracle/10.2.0/network/admin/erp11i.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROCerp11i)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=tsgsd1003.energy.ge.com)(PORT=1589)))

Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROCerp11i))
STATUS of the LISTENER
------------------------
Alias                     erp11i
Version                   TNSLSNR for Solaris: Version 10.2.0.3.0 - Production
Start Date                30-DEC-2008 18:10:01
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /erp11i/oracle/10.2.0/network/admin/erp11i_erp11i/listener.ora
Listener Log File         /erp11i/oracle/10.2.0/network/admin/erp11i.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROCerp11i)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=erp11i.justanexample.com)(PORT=1589)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "erp11i" has 1 instance(s).
  Instance "erp11i", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

The issue stands resolved after this.

8 comments:

phani said...

sir i am phani kumar

your suggestions are well i congrates you

thank you sir

Jagadish said...

Thanks for the good solution...

Its help me out for resolve my problem..

Keep the solutions on way.

Thanks,
JAgadish

Ridhi Sundar said...

I am getting error: TNS-12537: TNS:connection closed while i do tns ping from client.

I have removed the entries for tcp.validnode_checking
and tcp.invited_nodes

Still I am facing the same error.

in the listener log I found below error

TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00516: Permission denied

can you please help me fixing this?

Thanks
Ridhi

Anonymous said...

Hey guys,

Thanks for the detailed instructions.

I had the file owned by root, and changing owner fixed the problem.

Thank you.

Anonymous said...

Thank's a lot!!!!
yes, the following command in /var/tmp/.oracle/ worked well:
rm s
After this I was able to start the listener.
Thank's again. Greetings to all future visitors of this website.

Anonymous said...

Perfect!! Solved my issue.

Thanks,..

Abraham Dev Prasad said...

not able to delete the socket file, read only file system error is coming up so what should i do??

Aleks said...

This happened to me because of such a stupid mistake. I had the host that the database was running on blocked in it's own sqlnet.ora with TCP_EXCLUDED_NODES.