我们的系统使用的是ORACLE 9I+SUN880,有一些应用程序连接到数据库,另外有一个页面,大量处理日常业务,会频繁访问数据库。数据库每过一个星期左右就会出现大量的锁,删也删除不了。
我们怀疑是因为页面使用ADO方式连接,据说ADO方式的话会出现好多INACTIVE的连接,不知道有没有可能引起死锁。
另外,微软是不是已经提供了ASPNET框架的补丁来解决这个问题。

解决方案 »

  1.   

    注意页面推出的时候,手动disconnect一下其它的就无从说起了,死锁的原因很多,需要认真地测试
      

  2.   

    对,可以通过v$locked_objects来看看什么对象被锁了,然后再分析原因
      

  3.   

    你的应用中是不是较多 select ... for update
    如果是这种情况的话,那么锁定的概率就比较大。Oracle可以自动检测死锁,你所谓的只是几个会话长时间不释放资源而已,不是严格意义上的死锁
      

  4.   


    及时 commit 或 rollback。