我的 Oracle 11g 实例上的侦听器不再工作。
我试图启动它,但这不起作用。
侦听器没有 Linux 进程:
> lsnrctl 开始
适用于 Linux 的 LSNRCTL:版本 11.1.0.6.0 - 2011 年 11 月 16 日 10:55:08 生产
版权所有 (c) 1991, 2007,甲骨文。版权所有。
正在启动 /u01/app/oracle/product/11.1.0/db_1/bin/tnslsnr: 请稍候...
适用于 Linux 的 TNSLSNR:版本 11.1.0.6.0 - 生产
系统参数文件是
/u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
日志消息写入
/u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
侦听错误:(ADDRESS=(PROTOCOL=ipc)(PARTIAL=yes)(QUEUESIZE=1))
不再监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp))
(HOST=oracle.Domain.com)(PORT=1521)))
TNS-12557:TNS:协议适配器不可加载
TNS-12560:TNS:协议适配器错误
TNS-00527:无法加载协议适配器
侦听器无法启动。请参阅上面的错误消息...
我试图通过删除它netca,然后再做一个,但问题仍然存在......
我的环境变量设置正确。
> tnsping oracle.Domain.com 1521
适用于 Linux 的 TNS Ping 实用程序:版本 11.1.0.6.0 -
2011 年 11 月 16 日 10:56:47 制作
版权所有 (c) 1997、2007,Oracle。版权所有。
使用的参数文件:
/u01/app/oracle/product/11.1.0/db_1/network/admin/sqlnet.ora
使用 EZCONNECT 适配器解析别名
正在尝试联系 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))
(地址=(协议=TCP)(主机=127.0.0.1)(端口=1521))(地址=
(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)
(主机=127.0.0.1)(端口=1521)))
TNS-12541: TNS: 没有监听器"
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>
系统参数文件为/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>
写入 /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>
写入/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>
跟踪级别当前为 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>
从 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>
监听:(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>
侦听错误:(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>
不再监听:(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:协议适配器不可加载
TNS-12560:TNS:协议适配器错误
TNS-00527:无法加载协议适配器
</txt>
</msg>
嗨,我尝试使用示例listener.ora,但遇到了同样的错误,该文件没有被忽略它只是不起作用。
没有侦听器过程,我需要一个这样的过程,我想:
/u01/app/oracle/product/11.1.0/db_1/bin/tnslsnr LISTENER -inherit
我在 1521 端口上什么也没看到:
netstat |grep 1521
顺便说一下,我还没有从Oracle 10g 升级到Oracle 11g。
该错误消息意味着无法加载 TCP 通信所需的一个(或多个)共享库,可能是由于 o/s 包更新?或者它可能意味着 /tmp/.oracle 目录不能被 oracle 用户写入(或者不存在,也许是因为有人在 /tmp 上做了一些“内务管理”。在任何一种情况下,按照 Gaius 建议应该在级别 16 跟踪侦听器揭示问题。