数据库表死锁解决方案

来源:互联网 发布:金庸群侠传x源码 编辑:程序博客网 时间:2024/06/06 16:30
系统单元测试时,增删改的操作会突然无法进行,导致需要重启服务器,然后在测试再无法执行...... 
死循环,郁闷....
我们可以再PL/SQL下解决这类的问题

查询一下:
select object_name,s.sid,s.serial# From v$locked_objecto,v$session s ,dba_objects c Where o.session_id=s.sid Ando.object_id=c.object_id; 
直接看看这个表是否有死锁,,如果有kill掉 就可以 执行了!!
oracle级kill掉该session:  
-- 参数分别是查询出的 SID ,SERIAL#的值
sql>alter system kill session 'sid,serial#';


随后再试,跳出死循环,问题解决!

一下方法并未测试:
操作系统级kill掉session:
#>kill -9 pid
0 0