2010-08-30 21 views
0

我修復並使用連接池來立即獲取從JSP到Oracle數據庫的數據庫連接。如何在OC4J/Oracle中找到UNBROSED連接?

但是後來我立刻從OC4J控制檯發現有很多UNCLOSED/NOT-CLOSED連接。

我使用的是OC4J 9.0.4.1和Oracle 10g。是否有任何有效的方法來找出連接未關閉的位置或區域。

另外,我想知道以下內容:

1)未關閉的連接是指連接或ResultSet中或Statment? 2)如果Connection的ResultSet和Statement關閉,相應的ResultSet和Statement也會自動關閉?

回答

0

我認爲這是在服務器端最容易檢測到的 - 假設(!)在服務器上有一個'顯示所有打開連接'報告或命令,應該顯示這些列表連接以及該連接上最後一次執行的SQL(來自MSSQL這邊的東西 - 這聽起來不像是太過分了)。

未關閉意味着連接尚未關閉。

+0

任何建議或提示呢? – SkyEagle888 2010-08-30 15:55:09

+0

當然 - 看看@服務器狀態,並獲得一個打開的連接列表+獲得最後一次執行的SQL - 如果你忘記關閉一個SQL,我希望你會看到很多相同的SQL連接某處。 – 2010-08-30 15:56:21

+1

是啓動SQL Developer,連接到數據庫,查看數據庫會話,您可以看到每個會話的最後一個SQL。 – 2010-09-01 12:47:07

相關問題