2014-09-02 47 views
0

我正在使用oracle數據庫。假設我在運行在eclipse中的tomcat服務器上部署的java web應用程序中使用了jdbc連接,並且在使用它後忘記在代碼中關閉此連接。然後,如果我停止tomcat服務器,連接是否會被釋放並且一切正常,否則會導致oracle數據庫中出現一些副作用,例如某些死連接,並逐漸導致數據庫關閉?如何調試oracle連接?

以及如何調試這類問題?我的意思是,是否有任何工具可以讓我看到數據庫中的活動(和「死」,如果有的話)連接,以及他們的客戶端地址等?

回答

0

您可以在Tomcat的META-INF/context.xml文件中設置數據庫連接池。它可以進行設置,以便廢棄的數據庫連接被刪除並回收。

更多信息:

Apache Tomcat 7 JNDI Datasource HOW-TO

您可以查詢Oracle的V $ SESSION和V $過程,瞭解連接,如果他們鎖定,發起連接的進程的名稱,機器名稱和其他信息。

0

你可以在你的數據庫

select * from v$session 

使用和發現死會話然後

kill session 'sid,serial#'