我这是一个基建信息管理系统,由于最近使用的人比较多(两个局域网段的人访问192.168.10.*和192.168.8.*,服务器是在192.168.10.*段上)
最近在pl/sql里查看session 经常看到一些session长时间不被释放,而且数据库服务器大概经过一天时就会出现问题,进系统点击页面的时候IE就会无响应
而此时pl/sql里的session数量一下子暴增。。跟踪测试发现是 con = ConnectionMan.getConnection();取得连接正常,但是创建statement stmt = con.createStatement(1004, 1008);出异常。
这种情况需要重启服务器才能正常,但只能维持一天的时间。
急啊,各位大侠帮帮忙了。

解决方案 »

  1.   

    KILL 掉那些没有用的session 可以吗?
      

  2.   

    查看oracle的alert_SID.log中是否有报错。
    查看数据库session都在做什么,有什么wait。。
      

  3.   

    调整服务器配置,或者kill掉不用的session。
      

  4.   

    session数量暴增 导致数据库不能正常使用,可能是sga的内存不足了。建议检查一下为什么会session数量暴增,另外临时的解决办法是 调整一下oracle的sga设置,把内存设置大一点试试看。
      

  5.   

    前台代码有释放数据库连接的,平常数据库没出现问题的时候数据库里面是只出现三四个inactive的session 过一段时间它又自动关闭了,但是又出现一些新的,session的时间都是一个小时之内的。
    另外这个系统的控制层有几个模块是servlet有几个是struts,出现问题的时候用servlet做的模块有问题,struts做的模块正常。
    还有一个问题是数据库服务器重启的时候网上邻居要好久才出来