10 Replies Latest reply: Jan 16, 2013 3:19 AM by 944776 RSS

    Can't start listener for XE on Redhat Enterprise Linux 5.3

    219708
      Thanks for any response.

      I just installed Oracle 10g Expression Edition on Redhat Enterprise Linux 5.3. Oracle installation process is quite smooth and database is up and running. But I can't start the listener.

      $ lsnrctl start

      LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 20-JUL-2009 10:16:39

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

      Starting /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr: please wait...

      TNSLSNR for Linux: Version 10.2.0.1.0 - Production
      System parameter file is /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/listener.ora
      Log messages written to /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log
      Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
      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...


      The listener.log is:

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

      System parameter file is /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/listener.ora
      Log messages written to /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log
      Trace information written to /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/trace/listener.trc
      Trace level is currently 0

      Started with pid=2539
      Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
      TNS-12555: TNS:permission denied
      TNS-12560: TNS:protocol adapter error
      TNS-00525: Insufficient privilege for operation
      Linux Error: 1: Operation not permitted

      TNSLSNR for Linux: Version 10.2.0.1.0 - Production on 20-JUL-2009 10:16:41

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

      System parameter file is /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/listener.ora
      Log messages written to /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log
      Trace information written to /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/trace/listener.trc
      Trace level is currently 0

      Started with pid=2625
      Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
      TNS-12555: TNS:permission denied
      TNS-12560: TNS:protocol adapter error
      TNS-00525: Insufficient privilege for operation
      Linux Error: 1: Operation not permitted


      Thanks.
        • 1. Re: Can't start listener for XE on Redhat Enterprise Linux 5.3
          219708
          Solved it by changing the listener.ora file. Changing the KEY=EXTPROC_FOR_XE to KEY=EXTPROC0, it works now.
          I just don't understand why the default setting don't work.

          If any one know why, please let me know. Thanks.
          • 2. Re: Can't start listener for XE on Redhat Enterprise Linux 5.3
            Johnny98
            Hello,
            I am having the exact same issue as you were with the Listener not starting properly. I tried to make the change that you suggested worked, but it still did not work for me. Do you have any other suggestions?
            • 3. Re: Can't start listener for XE on Redhat Enterprise Linux 5.3
              58435
              Post the contents of your $ORACLE_HOME/network/admin/listener.ora file if changed from the "out of the box" setup, as well as the error(s) shown with the lsnrctl command.

              If its that same TNS-12555 the error doc doesn't provide much (clear) help ...

              TNS-12555: TNS:permission denied
              Cause: User has insufficient privileges to perform the requested operation.
              Action: Acquire necessary privileges and try again.

              Or try switching to the oracle user (and set PATH, ORACLE_SID ... ) that may be the user permission glitch. If its trying to start a service on a port lower than 1024, that might be another possibility- the kernel won't allow a service startup < 1024 unless done by the root user-
              • 4. Re: Can't start listener for XE on Redhat Enterprise Linux 5.3
                771425
                Thanks, it worked for me as well. Even by commenting the line in listener.ora (ADDRESS = (PROTOCOL = IPC)(KEY ....) also worked

                Edited by: user12221546 on May 6, 2010 8:46 AM
                • 5. Re: Can't start listener for XE on Redhat Enterprise Linux 5.3
                  sjohns14
                  Thanks for the hint. This also worked for me. Not sure why it was necessary as the enternal process listener had been running for a year or two
                  with the extproc_key setting in the listener.ora file. But when I was unable to bring it up today making this small change got me back in business. I was subsequently able to start the external process listener.
                  • 6. Re: Can't start listener for XE on Redhat Enterprise Linux 5.3
                    User341244
                    Hello,

                    Commending on the line on LISTENER.ORA file. worked for me thanks for your update.. Arul
                    • 7. Re: Can't start listener for XE on Redhat Enterprise Linux 5.3
                      863979
                      I just reinstalled the 10R2 XE for Debian / Ubuntu with the same error.

                      Doing:
                      cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin
                      strace ./lsnrctl start

                      we can see that it's trying to access /var/tmp/.oracle but this directory is owned by root, so:
                      chown -R oracle:dba /var/run/.oracle

                      And now it works correctly.

                      Cheers.
                      • 8. Re: Can't start listener for XE on Redhat Enterprise Linux 5.3
                        ivolibal
                        I am having the same problem. The solution is quite easy - delete the temporary files in the /var/tmp/.oracle directory. In my case they are owned by daemon:root user. Usually they are owned by oracle:oinstall and restart of listener does not do problems.
                        Normal:
                        oracle@kxxx:/var/tmp/.oracle> ls -la
                        total 8
                        drwxrwxrwt 2 root root 4096 2012-10-25 15:13 .
                        drwxrwxrwt 7 root root 4096 2012-10-07 13:55 ..
                        srwxrwxrwx 1 oracle oinstall 0 2012-10-25 15:13 s#17890.1
                        srwxrwxrwx 1 oracle oinstall 0 2012-10-25 15:13 s#17890.2
                        srwxrwxrwx 1 oracle oinstall 0 2012-10-25 15:13 sEXTPROC

                        Problem:

                        kxxx:/var/tmp/.oracle # ls -la
                        total 8
                        drwxrwxrwt 2 root root 4096 Mar 2 2012 .
                        drwxrwxrwt 7 root root 4096 Oct 7 13:55 ..
                        srwxrwxrwx 1 daemon root 0 Apr 8 2011 s#10888.1
                        srwxrwxrwx 1 daemon root 0 Apr 8 2011 s#10888.2
                        srwxrwxrwx 1 daemon root 0 Feb 15 2012 s#16918.1
                        srwxrwxrwx 1 daemon root 0 Feb 15 2012 s#16918.2
                        srwxrwxrwx 1 oracle oinstall 0 Aug 17 2010 s#3833.1
                        srwxrwxrwx 1 oracle oinstall 0 Aug 17 2010 s#3833.2
                        srwxrwxrwx 1 oracle oinstall 0 Dec 29 2010 s#3846.1
                        srwxrwxrwx 1 oracle oinstall 0 Dec 29 2010 s#3846.2
                        srwxrwxrwx 1 oracle oinstall 0 Aug 31 2010 s#3875.1
                        srwxrwxrwx 1 oracle oinstall 0 Aug 31 2010 s#3875.2
                        srwxrwxrwx 1 oracle oinstall 0 Feb 28 2011 s#4437.1
                        srwxrwxrwx 1 oracle oinstall 0 Feb 28 2011 s#4437.2
                        srwxrwxrwx 1 daemon root 0 Mar 2 2012 s#5323.1
                        srwxrwxrwx 1 daemon root 0 Mar 2 2012 s#5323.2
                        srwxrwxrwx 1 daemon root 0 Mar 2 2012 sEXTPROC

                        See the file for sEXTPROC and few others owned by daemon:root.
                        How can this happen that the files are owned by daemon user? Wrong shutdown of server? Or just that somehow the listener got started by daemon user???
                        Do you have any other idea how it can happen?
                        • 9. Re: Can't start listener for XE on Redhat Enterprise Linux 5.3
                          clcarter
                          the listener got started by daemon user?
                          That would be the most likely culprit. I rarely use the auto start on boot, fire up the database and listener when its needed, shut it down when its not. Frees up the memory for other stuff.

                          Either set a password for the oracle user so you can switch user, or use sudo, or a root login and set the oracle environment. For the root (or sudo) method use `su oracle -c "..."` you won't get prompted for a password.
                          • 10. Re: Can't start listener for XE on Redhat Enterprise Linux 5.3
                            944776
                            Thank you for this, changing the key to EXTPROC0 works!