Oracle 11g Listener not working

oracle

The listener on my Oracle 11g instance is no longer working.

I tried to start it but that doesn't work.

There are no Linux processes for the listener:

> lsnrctl start

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 16-NOV-2011 10:55:08

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

Starting /u01/app/oracle/product/11.1.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.1.0.6.0 - Production
System parameter file is 
    /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
Log messages written to 
    /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Error listening on: (ADDRESS=(PROTOCOL=ipc)(PARTIAL=yes)(QUEUESIZE=1))
No longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
    (HOST=oracle.Domain.com)(PORT=1521)))
TNS-12557: TNS:protocol adapter not loadable
 TNS-12560: TNS:protocol adapter error
  TNS-00527: Protocol Adapter not loadable


Listener failed to start. See the error message(s) above...

I tried to delete it via netca, and make another one but the problem remains…

My Environment variables are properly set.

> tnsping oracle.Domain.com 1521

TNS Ping Utility for Linux: Version 11.1.0.6.0 - 
    Production on 16-NOV-2011 10:56:47

Copyright (c) 1997, 2007, Oracle.  All rights reserved.

Used parameter files:
/u01/app/oracle/product/11.1.0/db_1/network/admin/sqlnet.ora

Used EZCONNECT adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))
    (ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(ADDRESS=
    (PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)
    (HOST=127.0.0.1)(PORT=1521)))
TNS-12541: TNS:no listener"

the alert log in XML:


<msg time='2011-11-16T10:55:08.236+01:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracle.Domain.com'
 host_addr='127.0.0.1'>
  <txt>
    System parameter file is /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
  </txt>
</msg>
<msg time='2011-11-16T10:55:08.237+01:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracle.Domain.com'
 host_addr='127.0.0.1'>
  <txt>
    Log messages written to /u01/app/oracle/diag/tnslsnr/oracle1/listener/alert/log.xml
  </txt>
</msg>
<msg time='2011-11-16T10:55:08.237+01:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracle.Domain.com'
 host_addr='127.0.0.1'>
  <txt>
    Trace information written to /u01/app/oracle/diag/tnslsnr/oracle1/listener/trace/ora_11850_47802449326800.trc
  </txt>
</msg>
<msg time='2011-11-16T10:55:08.237+01:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracle.Domain.com'
 host_addr='127.0.0.1'>
  <txt>
    Trace level is currently 0
  </txt>
</msg>
<msg time='2011-11-16T10:55:08.237+01:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracle.Domain.com'
 host_addr='127.0.0.1'>
  <txt>
  </txt>
</msg>
<msg time='2011-11-16T10:55:08.238+01:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracle.Domain.com'
 host_addr='127.0.0.1'>
  <txt>
    Started with pid=11850
  </txt>
</msg>
<msg time='2011-11-16T10:55:08.239+01:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracle.Domain.com'
 host_addr='127.0.0.1'>
  <txt>
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle.Domain.com)(PORT=1521)))
  </txt>
</msg>
<msg time='2011-11-16T10:55:08.239+01:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracle.Domain.com'
 host_addr='127.0.0.1'>
  <txt>
    Error listening on: (ADDRESS=(PROTOCOL=ipc)(PARTIAL=yes)(QUEUESIZE=1))
  </txt>
</msg>
<msg time='2011-11-16T10:55:08.239+01:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracle.Domain.com'
 host_addr='127.0.0.1'>
  <txt>
    No longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle.Domain.com)(PORT=1521)))
  </txt>
</msg>
<msg time='2011-11-16T10:55:08.239+01:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracle.Domain.com'
 host_addr='127.0.0.1'>
  <txt>
    TNS-12557: TNS:protocol adapter not loadable
    TNS-12560: TNS:protocol adapter error
    TNS-00527: Protocol Adapter not loadable

  </txt>
</msg>


Hi, I tried using a sample listener.ora, but got the same error, the file is not ignored it just doesn't work.

There's no listener process, I need to have a process like that, I suppose :

/u01/app/oracle/product/11.1.0/db_1/bin/tnslsnr LISTENER -inherit

I see nothing on the 1521 port :

netstat |grep 1521

By the way, I have not upgraded from Oracle 10g to Oracle 11g.

Best Answer

The error message means that one (or more) of the shared libraries required for TCP communications to work could not be loaded, perhaps due to o/s package updates? or it can mean that the /tmp/.oracle directory is not writeable by the oracle user (or doesn't exist perhaps because someone did some 'housekeeping' on /tmp . In either case tracing the listener at level 16 as Gaius suggested should reveal the issue.