Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Oracle Listener fails to start, error messages TNS-12555, TNS-12560, TNS-00525

    • Article Type: General
    • Product: Aleph

    Problem Symptoms:
    When one tries to start the Oracle Listener by executing the command "lsnrctl start" as UNIX user oracle, the following error messages appear:

    ---------------------------------
    $ lsnrctl start

    LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 10-APR-2014 20:36:19

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

    Starting /exlibris/app/oracle/product/11r2/bin/tnslsnr: please wait...

    TNSLSNR for Linux: Version 11.2.0.3.0 - Production
    System parameter file is /exlibris/app/oracle/product/11r2/network/admin/listener.ora
    Log messages written to /exlibris/app/oracle/diag/tnslsnr/<server_name>/listener/alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<server_name>)(PORT=1521)))
    Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=REGISTER)))
    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...
    ---------------------------------

    Cause:
    (1)
    In the directory /var/tmp/.oracle there exist some socket files which do not belong to UNIX user oracle and group dba, but to another user (e.g. daemon) and another group (e.g. root).

    Example:

    $ ls -l /var/tmp/.oracle
    4259873 0 srwxrwxrwx 1 daemon root 0 Mar 22 09:53 /var/tmp/.oracle/s#10534.1
    4259874 0 srwxrwxrwx 1 daemon root 0 Mar 22 09:53 /var/tmp/.oracle/s#10534.2
    4259865 0 srwxrwxrwx 1 daemon root 0 Mar 22 09:53 /var/tmp/.oracle/sREGISTER


    (2)
    When the Listener process starts, it tries to create the following socket files:

    /var/tmp/.oracle/s#<pid>.1
    /var/tmp/.oracle/s#<pid>.2
    /var/tmp/.oracle/sREGISTER

    where <pid> is the ID of the operating system process for the Listener.

    As the file /var/tmp/.oracle/sREGISTER already exists and belongs to a UNIX user other than oracle, the Listener process (running with privileges of user oracle) cannot create a new socket file with that name. Therefore the Listener fails to start.

    Resolution:
    (1)
    Delete all socket files from directory /var/tmp/.oracle as UNIX user root.

    (2)
    Start the Listener by executing the command "lsnrctl start" as UNIX user oracle.


    • Article last edited: 7/16/2014