oracle的监听器启动后一会儿便停止 再启动报错

本文介绍了解决Oracle数据库中Listener服务启动后自动停止的问题。通过修改listener.ora文件中的配置,并调整启动顺序,成功解决了该问题。文章还解释了主动注册与被动注册的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错如下:

本地计算机上的oracleoradb11g_home1tnsListener服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

 

如果是没网启动,则将D:\app\haoanbang\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora下的listener.ora和tnsnames.ora中的localhost改为ip地址

将注册表  cmd——regedit——HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OracleOraDb11g_home1TNSListener的ImagePath少了后缀.exe

D:\app\haoanbang\product\11.2.0\dbhome_1\BIN\TNSLSNR.EXE

 

解决:

在D:\app\haoanbang\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora下

将如下配置

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\haoanbang\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\haoanbang\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)

替换为如下配置

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\haoanbang\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
) (SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)

这样以后,关掉Service和LISTENER。再启动Service和LISTENER,这样应该就可以了,注意顺序。

          查了一下,网上是说,加上了面一段东西,意思是把LISTENER服务主动注册到进程监视器(pmon)中去。所以,但你启动了Serivce后,启动LISTENER的时候,会主动去注册到进程监视器(pmon)中去。所以不会有什么问题。但是反过却不行。

         如果说没有添加那一段,情况正好相反,是由实例的pmon进程在LISTENER中注册服务,LISTENER为被动注册。所以需要先起LISTENER才可以。

        总结一下,如果说你不加那段东西,那么就应该先起LISTENER,如果说你加了那段东西,就应该先起Serivce。

 

转载于:https://www.cnblogs.com/hab-/p/6632595.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值