不知道干了啥,把数据表锁住了,没法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装在虚拟机里的,不想弄,重启虚拟机就好了。
时间: 2024-10-15 05:10:00