我正在使用oracle数据库。假设我在运行在eclipse中的tomcat服务器中部署的java Web应用程序中使用了jdbc连接,并且在使用它之后忘记在代码中关闭此连接。然后,如果我停止tomcat服务器,是否会释放连接并且一切正常,或者它会在oracle数据库中引起一些副作用,比如一些死连接,并逐渐导致数据库关闭?
如何调试这类问题?我的意思是有没有工具可以让我看到我的数据库中的活动(和'死',如果有的话)连接,以及他们的客户端地址等?
答案 0 :(得分:0)
您可以在Tomcat的META-INF / context.xml文件中设置数据库连接池。可以进行设置,以便删除和回收废弃的数据库连接。
更多信息:
Apache Tomcat 7 JNDI Datasource HOW-TO
您可以查询Oracle&#s; sv $ session和v $ process,了解连接是否被锁定,启动连接的进程名称,计算机名称和其他信息。
答案 1 :(得分:0)
您可以在数据库中使用它
select * from v$session
然后找到死会话
kill session 'sid,serial#'