下午修改了程序,启动Tomcat,控制台上打印出一大串数据库的连接错误,上远程查看Oracle的会话管理,我机器占用的连接数达到200多个,同事的机器占连接数也是200多个,我们把客户机的网线拔掉后,Oracle会话中我的连接断了,同事的还占着200多个。
  许久,Oracle并没有释放连接上网查了一下,说可以用profile。  Oracle是不能重启的,请教各位前辈,有什么办法可以解决,为什么连接不能释放?

解决方案 »

  1.   

    检查v$session表,看看连接情况
    SELECT sid, serial#, status, paddr, username, taddr, server, osuser, process,
           machine, terminal, program, type
      FROM v$session;想要中断会话,可以用ALTER SYSTEM KILL SESSION 命令杀死, 如基本命令为ALTER SYSTEM KILL SESSION 'sid, serial#';
    其中sid和serial#为v$session表中sid和serial#对应的值,如
    ALTER SYSTEM KILL SESSION '101,13445';
      

  2.   

    你们写的程序是不是把一些 rs打开着,或者没有commit,或者把connection的 autocommit属性给改掉了没有恢复按理说一般情况不会出现一个人连接着一大堆的connection,一般都是程序引起的
      

  3.   


    Spring管理的,程序应该没问题。都跑了2年了