In this Document
Symptoms
Changes
Cause
Solution
References
APPLIES TO:
Oracle Net Services - Version 10.2.0.2 to 19.4.0.0.0 [Release 10.2 to 18.1]
Information in this document applies to any platform.
SYMPTOMS
Attempting to start a listener on Unix is failing with permission errors:
TNSLSNR for Solaris: Version 12.2.0.3.0 - Production
System parameter file is /app/oracle/product/122/network/admin/listener.ora
Log messages written to /app/oracle/product/122/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=keyname)))
Error listening on: (DESCRIPTION=(address=(protocol=ipc)(key=keyname)))
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00516: Permission denied
Solaris Error: 13: Permission denied
OR
$ lsnrctl start LISTENER
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 11-JUN-2017 11:05:52
Copyright (c) 1991, 2005, Oracle. All rights reserved.
TNSLSNR for Linux: Version 12.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=keyname)))
TNS-12555: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00525: Insufficient privilege for operation
Linux Error: 1: Operation not permitted
Listener failed to start. See the error message(s) above...
OR
lsnrctl start
LSNRCTL for Solaris: Version 12.2.0.3.0 - Production on 06-OCT-2012 02:43:55
Copyright (c) 1991, 2006, Oracle. All rights reserved.
TNSLSNR for Solaris: Version 12.2.0.3.0 - Production
System parameter file is /app/oracle/home/network/admin/listener.ora
Log messages written to /app/oracle/home/network/log/listener.log
Listener failed to start. See the error message(s) above...
Error listening on: (ADDRESS=(PROTOCOL=IPC)(KEY=keyname))
TNS-12542: TNS:address already in use
TNS-12560: TNS:protocol adapter error
TNS-00512: Address already in use
Solaris Error: 125: Address already in use
There are multiple Oracle installations on this server and with listeners running under different accounts OR we are/have been running the same listener under different OS user(s).
CHANGES
One or more of the following items:
Some IPC keys have been reused from older listener(s)
Same listener has previously been started under different OS users
Listeners running under different OS users are using the same IPC keys
Permissions in /var/tmp or /tmp have been changed recently.
CAUSE
Older IPC socket file(s) were left in /var/tmp/.oracle or /tmp/.oracle and they cannot be deleted by the listener upon startup.
Listener IPC endpoints on UNIX platforms are implemented with local UNIX sockets. IPC key names are used to form the socket file names created in /var/tmp/.oracle or /tmp/.oracle. The listener creates the files with the same user ownership as the OS user it has been started from.
The /var/tmp/.oracle or /tmp/.oracle directory has the "sticky" flag set so the files can be removed only by the user that created them. At listener startup, if the listener finds an older socket file with the same name (same IPC key) but with different user ownership as the user it's running then it will fail to delete this socket file due to OS permission restrictions.
SOLUTION
IMPORTANT NOTE FOR RAC INSTALLATIONS: Please be aware that this step should ONLY be taken as a last resort and ONLY when there are no Net connections to the database(s). This procedure could cause active sessions to be terminated. It is NOT recommended to take this action in a RAC environment. see Note 391790.1 for details.
Clear the /var/tmp/.oracle (Linux or Solaris) or (on AIX), /tmp/.oracle directory and start from fresh:
Stop all listeners
Remove the /var/tmp/.oracle or /tmp/.oracle directory, e.g. run the following from the root account:
rm -rf /var/tmp/.oracle
Check the listener(s) configuration contains unique keys specified for each IPC endpoint and each listener
Start the listener(s) from the normal Oracle OS user.
Clearing the /var/tmp/.oracle or /tmp/.oracle directory will force the listeners to recreate the socket files from fresh, each with its own correct ownership.
You need to make sure that you always start the listener(s) from the same OS user(s) and that you do not reuse IPC key endpoints between listeners running under different users, otherwise the problem will resurface.
Was this document helpful?
Yes
No
Document Details
Email link to this documentOpen document in new windowPrintable Page
Type:
Status:
Last Major Update:
Last Update:
PROBLEM
PUBLISHED
Dec 11, 2019
Dec 11, 2019
Related Products
Oracle Net Services
Information Centers
Oracle Database 11g Release 2 Information Center [1436725.2]
Index of Oracle Database Information Centers [1568043.2]