问题一,遇到过这样的情况,一般是显示killed,要等下才可以释放资源,如果真的不可以释放资源,则重启数据库
问题二、修改程序,用事务处理,或者直接加锁,页面连接数据库完成查询后,一定要断掉数据库连接

解决方案 »

  1.   

    这可能是由于你的客户端频繁的向数据库发相同的merge into命令造成的。可以使用oracle自己带的性能管理器进行进程的kill,这样最方便。
      

  2.   

    重启是不敢了,
    zealot_zk(风中追风) ,请问,你说那个性能管理器是什么呀??
      

  3.   

    性能管理器,是OEM吧?oracle安装自带的。
      

  4.   

    不敢重启,
    今天下午查看,那个12号还卡这呢,资源也不释放,因此又卡了好几个,俺搜了下

    select paddr from v$session where sid=v_sid and serial#=v_serial#
    select spid from v$process where addr=paddr
    然后kill掉了,(kill -9 spid) 汗!
      

  5.   

    这也是个办法,不过在windows系统中没法这样做,这种kill -9 spid的方法只能在unix系统上作,还有些危险,我记得有一篇文章曾经说使用oracle自己的alter session kill过不能完全释放资源是因为oracle把这样杀死的进程的进程号都指到一个空地址,只要把这个空地址重置一下就可以了。我在找找那篇文章找到发给你。