失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > oracle如何杀掉表死锁 oracle杀死死锁的方法

oracle如何杀掉表死锁 oracle杀死死锁的方法

时间:2020-04-03 18:37:56

相关推荐

oracle如何杀掉表死锁 oracle杀死死锁的方法

执行以下语句,查看死锁: select /* rule */ lpad(' ',decode(l.xidusn,0,3,0))||l.oracle_username User_name, o.owner,o.object_name,o.object_type,s.sid,s.serial#,p.spid from v$locked_object l,dba_objects o,v$session s,v$process p where l.objec

执行以下语句,查看死锁:

select /* + rule */ lpad(' ',decode(l.xidusn,0,3,0))||l.oracle_username User_name,

o.owner,o.object_name,o.object_type,s.sid,s.serial#,p.spid

from v$locked_object l,dba_objects o,v$session s,v$process p

where l.object_id=o.object_id

and l.session_id=s.sid

and s.paddr = p.addr

order by o.object_id,xidusn DESC;

(执行这个语句的目的,是为了找到你需要杀死的死锁的SID和SERIAL#,注意:不建议你杀死别人的死锁,有可能别人在你查询死锁的时刻,正在做某些操作而锁表,刚好你正在查询死锁,其实你再查询的时候别人的锁已经解了。所以,无关自己的表的锁,不建议去杀死。)

好了,找到你需要操作的表名,然后找到对应的SID和SERIAL#

替换下面语句的变量,然后执行,即可解锁。

alter system kill session 'sid,serial#';

假如,你找到的SID和SERIAL#分别是:35,1980

那么你应该执行的杀死死锁的语句如下:

alter system kill session '35,1980';

然后再执行第一个语句看看你的死锁被杀死了没有?

肯定会成功的!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

如果觉得《oracle如何杀掉表死锁 oracle杀死死锁的方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。