為什麼Windows平臺下ORACLE執行緒數一直增長無法釋放?

yezhibin發表於2013-01-22
         在客戶現場windows 32bit環境下9.2.0.8資料庫,發現程式oracle下的執行緒數

目一直增加到250,最終導致新連線的session無法登陸。

       採用windows提供的工具pstool,pslist -d oracle程式號,列出程式下的所有線

程,發現確實存在250的執行緒。登陸ORACLE,select spid from v$process,檢視

ORACLE連線執行緒,只有20個左右。

      在命令列視窗,netstat -An檢視連線數,發現如下資訊:

  協議           本地地址                 外部地址                 狀態
 TCP    xxx.xx.xxxx.xxx:埠     0.0.0.0:0                      LISTENING
 TCP     xxx.xx.xxxx.xxx:埠     xxx.xx.xxxx.xxx:埠     ESTABLISHED

        正常連線的“外部地址”列包含了外部地址,而0.0.0.0則沒有地址,全部相加起

來差不多是250個連線。

        只能採用orakill oracle_sid  thread_id將無用執行緒kill。

        我們做了一個實驗,就是客戶端連線資料庫,正常連線和退出,執行緒數會增加

和減少,但是當我們將網線拔掉,然後退出客戶端,後臺的執行緒數不會減少。

        我相信應該是OS的問題,有誰能推薦一個好的解決方案?
       


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-753019/,如需轉載,請註明出處,否則將追究法律責任。

相關文章