在项目地装了三台linux下的oracle10g,现在郁闷的是只有一台不定时的数据库无法链接,lsnrctl status 很久都无反应,sop也无用。只能重新启动服务器。
今天百度中解决了该问题,特记录一下。
1、进入到oracle下,lsnrctl status无反应
2、看一下监听的进程 ps -ef|grep tnslsnr,发现有两个监听进程。
通过网查询得知,oracle 10.2.0.1.0中一个编号为4518443的bug导致的,这个bug会自动创建一个子监听器,当出现这种情况时,监听就会挂起。而且次BUG在任何操作系统中均存在。
顺便查看了一下数据库版本 select * fom v$version果然是网上所说的版本
3、结束掉一个多余的进kill -9 2012,数据库,马上就可以正常链接了。
4、解决该问题
常规方法:将SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF加入到listener.ora最末尾
彻底解决:升级oracle,有风险,本人才疏学浅,还未搞过这么深的研究,谨慎。