在我们平时团队开发中,某些同事可能不小心锁定了某一张比较重要的表,早上整个系统登陆不了,恰恰这时所表之人还在抱怨数据库这么慢,登陆不上了呢? 遇到这样的情况首先执行下面语句:
SELECT a.sid,
a.serial#,
a.username,
a.program,
c.owner,
c.object_name,
a.machine
FROM v$session a, v$locked_object b, all_objects c
WHERE a.sid = b.session_id
AND c.object_id = b.object_id
ORDER BY a.machine, c.object_name;
会查出类似下面的结果:
1 130 556 SCOTT plsqldev.exe SCOTT EMP2 MSHOME/SUN-8227E30CF8C
然后我们用下面这条语句kill掉该进程就可以了,不必废话,继续干活。。。
该语句限于windows系统。
ALTER SYSTEM KILL SESSION '130,556';