In this Document
Symptoms |
Changes |
Cause |
Solution |
References |
Applies to:
Oracle Net Services - Version 10.2.0.1.0 to 11.2.0.3 [Release 10.2 to 11.2]Information in this document applies to any platform.
Checked for relevance on 7-MAY-2010.
Symptoms
When we try to start the listener it is failing with permissions errors:
LSNRCTL> start Starting /app/oracle/product/102/bin/tnslsnr: please wait... TNSLSNR for Solaris: Version 10.2.0.3.0 - Production System parameter file is /app/oracle/product/102/network/admin/listener.ora Log messages written to /app/oracle/product/102/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=meta4))) Error listening on: (DESCRIPTION=(address=(protocol=ipc)(key=meta3))) 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 10.2.0.1.0 - Production on 11-JUN-2007 11:05:52 Copyright (c) 1991, 2005, Oracle. All rights reserved. Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 10.2.0.1.0 - Production System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC2))) 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 10.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 10.2.0.3.0 - Production
System parameter file is /ipdsns048/oracle/home/network/admin/listener.ora
Log messages written to /ipdsns048/oracle/home/network/log/listener.log
Listener failed to start. See the error message(s) above...
Error listening on: (ADDRESS=(PROTOCOL=IPC)(KEY=key1))
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
We have multiple Oracle Homes with listeners running from under different OS users 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 have been previously reset.
Cause
Older IPC socket file(s) were left in /var/tmp/.oracle and they cannot be deleted by the listener upon startup.
Solution
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 directory and start from fresh:
- Stop all listeners
- Remove the /var/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 directory will force the listeners to recreate the socket files from fresh, each with its own correct ownership.