Friday, January 27, 2012

Starting the Listener Fails With: TNS-12557 or TNS-12555: TNS:Permission Denied



Starting the Listener Fails With: TNS-12557 or TNS-12555: TNS:Permission Denied [ID 343253.1]

 Modified 30-SEP-2011     Type PROBLEM     Status PUBLISHED 

In this Document
  Symptoms
  Changes
  Cause
  Solution
  References

Applies to:

Oracle Net Services - Version: 10.2.0.1.0 to 11.1.0.7.0 - Release: 10.2 to 11.1
Information in this document applies to any platform.
This issue could present on any UNIX platform.

Checked for relevance on 30-SEP-2011.

Symptoms

An attempt to start the Listener using lsnrctl start yields any of the error stacks below:
TNS-12555: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00525: Insufficient privilege for operation
Linux Error: 1: Operation not permitted

TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
HPUX Error: 20: Not a directory

TNS-12557: TNS: Protocol adapter not loadable
TNS-12560: TNS: Protocol adapter error
TNS-00527: Protocol Adapter not loadable

TNS-12555: TNS:permission denied
TNS-12560: TNS:proto adapter error
TNS-00525: Insufficient privilege for operation
IBM/AIX RISC System/6000 Error: 1: Not owner 
Using only the IPC protocol in the listener.ora and a level 16 listener trace reveals the following:


[16-JUL-2008 09:16:55:995] nsc2addr: entry 
[16-JUL-2008 09:16:55:995] nsc2addr: (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROCFSTST)) 
[16-JUL-2008 09:16:55:995] sntuscrt: entry 
[16-JUL-2008 09:16:55:995] sntuscrt: failed to change permissions of dir /tmp/.oracle 
[16-JUL-2008 09:16:55:995] sntuscrt: exit 
[16-JUL-2008 09:16:55:995] ntusb2adr: entry 
[16-JUL-2008 09:16:55:995] ntusb2adr: KEY = EXTPROCFSTST 
[16-JUL-2008 09:16:55:995] ntusb2adr: exit 
[16-JUL-2008 09:16:55:995] nsc2addr: normal exit 

Note the following error stack:

[16-JUL-2008 09:16:55:996] nsopen: opening transport... 
[16-JUL-2008 09:16:55:996] ntusconn: entry 
[16-JUL-2008 09:16:55:996] ntusconn: connect: operation 2 
[16-JUL-2008 09:16:55:996] ntuscnp: entry 
[16-JUL-2008 09:16:55:996] sntusgph: entry 
[16-JUL-2008 09:16:55:996] sntusgph: fail to search /tmp/.oracle 
[16-JUL-2008 09:16:55:996] sntusgph: exit 
[16-JUL-2008 09:16:55:996] ntus2err: entry 
[16-JUL-2008 09:16:55:996] ntus2err: sd=10, op=1, resnt[0]=530, resnt[1]=20, resnt[2]=0 
[16-JUL-2008 09:16:55:996] ntus2err: exit 
[16-JUL-2008 09:16:55:996] ntuscnp: exit 
[16-JUL-2008 09:16:55:996] ntusconn: exit 
[16-JUL-2008 09:16:55:996] nserror: entry 
[16-JUL-2008 09:16:55:996] nserror: nsres: id=0, op=65, ns=12560, ns2=0; nt[0]=530, nt[1]=20,nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
[16-JUL-2008 09:16:55:996] nsopen: unable to open transport 

Changes

This is either a new installation or some permissions changes have taken place on the /.../.oracle directory. 

Cause


1) Ensure that /tmp/.oracle or /var/tmp/.oracle directory exists.

2) Confirm that the user who is trying to start the listener has adequate read and write permissions on the directory specified above. The permissions should be 777.

3) If the /tmp directory has reached full capacity, this would cause the listener to fail to write the socket files.

Solution

To implement the solution, please use the following example: 

1. cd /var/tmp 

2. Check the whether the .oracle directory exists: 

cd .oracle 


3. If the directory does not exist, request the System Administrator create the directory and set the ownership as root:root with the permissions set to 01777 

mkdir /var/tmp/.oracle 
chmod 01777 /var/tmp/.oracle 
chown root /var/tmp/.oracle 
chgrp root /var/tmp/.oracle 

4. Next try starting the TNS Listener using the ‘lsnrctl start ’ command. 



References


Show Related Information Related

Products
  • Oracle Database Products > Oracle Database > Net Services > Oracle Net Services
Errors
OPERATION NOT PERMITTED; TNS-525; TNS-12555; TNS-12557; TNS-530; TNS-12560; TNS-527

1 comment:

  1. This comment has been removed by a blog administrator.

    ReplyDelete