在Oracle在不能更表时,一定是你某位同事,也有可能是程序锁表
只需要两步就可以解决
第一步查询死锁的进程
-- 查询死锁的进程
SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,
l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS
FROM V$LOCKED_OBJECT l,V$SESSION S
WHERE l.SESSION_ID=S.SID;
查到得结果为kill掉进程使用
第二步 杀掉死锁的进程
alter system kill session '1617,54944';
---(SESSION_ID,s.SERIAL#);
如果想知道是哪位同事干得缺德事
--- 添加 锁表的用户名和id
SELECT Username,
Lockwait,
Status,
Machine,
sid,
osuser,
Program
FROM V$session
WHERE Sid IN (SELECT Session_Id FROM V$locked_Object);
查询到的结果
用户215 使用plsql进行锁表的 可以骂人了