1. 程式人生 > >oracle監聽啟動不起來(停在那不動)

oracle監聽啟動不起來(停在那不動)

今天早發現數據庫連不上,然後tnsping和lsnrctl status也沒反應,游標一直停在那不動,於是肯定是TNS出現問題了
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 看下埠是不是被佔用了。