Listener Fails To Start With IPC Permission Errors (TNS-12546 TNS-12555 TNS-00516 TNS-00525) (Doc ID 434062.1)
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:
LSNRCTL> start
Starting /app/oracle/product/102/bin/tnslsnr: please wait...
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.
Starting /u01/app/oracle/product/12.2.0/db_1/bin/tnslsnr: please wait...
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.
Starting /ipdsns048/oracle/product/10.2.0/bin/tnslsnr: please wait...
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]
インフォメーション・センター: データベースおよび Enterprise Manager 日本語ドキュメント [1946305.2]
Document References
No References available for this document.
Recently Viewed
Starting TNS Listener or LSNRCTL Start Yields TNS-12541, Linux Error: 111: Connection Refused [343295.1]
Unable to Re-Use ASM Disks After Failed 12.2 Grid Infrastructure Install [2355039.1]
Grid Infrastructure 18 Release Updates and Revisions Bugs Fixed Lists [2384954.1]
Oracle ASMLib Software Update and Support Policy for Red Hat Enterprise Linux [1089399.1]
Master Note for Database Proactive Patch Program [888.1]
Show More
|