ps -ef|grep tns执行结果如下:
oracle 5516 1 0 2008 ? 00:28:10 /oracle/product/10g/bin/tnslsnr LISTENER -inherit
oracle 5517 5516 0 2008 ? 00:00:00 /oracle/product/10g/bin/tnslsnr LISTENER -inherit
oracle 5518 5517 0 2008 ? 00:00:00 /oracle/product/10g/bin/tnslsnr LISTENER -inherit
oracle 5519 5517 0 2008 ? 00:00:00 /oracle/product/10g/bin/tnslsnr LISTENER -inherit
oracle 13893 5516 0 02:50 ? 00:00:00 /oracle/product/10g/bin/tnslsnr LISTENER -inherit
oracle 15258 15190 0 09:58 pts/3 00:00:00 grep tns
总结如下:
现象:新建oracle数据库的连接不能连上,但是以前数据库连接正常。
原因:oracle监听服务重复,多个进程运行,可能是程序多次启动连接引起,是oracle10g的一个bug
解决办法:kill掉所有重复oracle监听进程,然后再重启监听.
用命令启动TNS:ps -ef|grep tns|grep -v grep|cut -c 9-15|xargs kill -9|lsnrctl start
其它原因:
1、看下监听日志是不是太大了,要是超过1G就清空一下
2、用命令lsof -i tcp:1521 看下端口是不是被占用了。
本文讨论了Oracle数据库监听服务出现重复进程的问题及其解决步骤。通过分析ps-ef|greptns命令的执行结果,发现多个监听进程运行导致连接失败。解决办法包括kill掉所有重复的监听进程并重新启动监听服务。此外,文章还提供了排查监听日志大小、检查端口占用等额外建议。
324

被折叠的 条评论
为什么被折叠?



