請教jdon關於連線池對應的遊標問題

dabb發表於2004-07-09
我用的是oracle8i的資料庫,9ias903伺服器。
用連線池的時候發現遊標數長的很快,而資料庫連線池的連線數很穩定。(透過
select count(*) from v$session 和select count(*) from v$open_corsor檢視獲知)
一天之內連線數已經漲到900個左右,而連線數穩定在10個左右。可以排除沒有關閉statement造成的遊標沒關閉。我做過實驗,statement關閉後一般open cursor就關閉了,但是如果是呼叫儲存過程的話(而儲存過程裡面又開啟cursor進行操作,然後關閉cursor),這樣的話,即使關閉statement,但透過select * from v$open_cursor還是可以看到它的。估計是資料庫吧它cache了???因為我再次重複呼叫該頁面,open cursor數就不加了,但是如果併發多個使用者呼叫的話(或則狂按f5重新整理頁面),open cursor數就“蹭蹭”上去了。而kill掉某個連線的話,它對應的open cursors就沒掉了。但是這樣的話這是遊標數好象是一直往上漲的。不知道會不會對系統有影響。有無解決方法?

相關文章