查看目前被锁表:
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
查看被锁表的信息:
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;
SELECT sid, serial#, username, osuser FROM v$session t where t.SID = '195'
杀掉被锁表的进程:
ALTER SYSTEM KILL SESSION '195,2532' immediate;
其中195代表sid,2532代表serial#,将这两个值替换成相应的值就可以了。
Oracle有自己的进程管理策略,很多情况下杀进程往往不能即使生效,因此要加immediate立即生效。
本文介绍了如何使用Oracle数据库管理工具来查看并处理被锁表的问题,包括如何获取被锁表信息、锁定会话信息以及如何杀死导致锁的进程。通过即时生效的指令,实现性能优化。
4万+

被折叠的 条评论
为什么被折叠?



