Oracle数据表中的死锁情况解决方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据表中的死锁情况解决方法相关的知识,希望对你有一定的参考价值。
不知道干了啥,把数据表锁住了,没法update。
百度了各种方法,总结如下。
查看被锁住的表(两句都可以):
select * from v$session t1, v$locked_object t2 where t1.sid=t2.SESSION_ID
select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao,v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid;
查看锁住表的用户和时间:
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
杀死死锁进程:
alter system kill session ‘SID,serial#‘;
在杀死进程的时候,出现错误。
原因是没有权限,登陆的时候要以dba的形式登陆。
再执行就可以了。
p.s Oracle装在虚拟机里的,不想弄,重启虚拟机就好了。
以上是关于Oracle数据表中的死锁情况解决方法的主要内容,如果未能解决你的问题,请参考以下文章