Oralce锁表及锁存储过程

一、锁表

--锁表
SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,
  l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time
  FROM v$locked_object l, all_objects o, v$session s
  WHERE l.object_id = o.object_id
  AND l.session_id = s.sid
  ORDER BY sid, s.serial# ;

--kill session
ALTER system KILL session '780,54180'; 
ALTER system KILL session '1358,27418';

二、锁存储过程

--锁存储过程
1:查V$DB_OBJECT_CACHE

SELECT * FROM V$DB_OBJECT_CACHE WHERE name='BB_NBGLJY' AND LOCKS!='0';

注意:BB_NBGLJY 为存储过程的名称。

发现 locks=2

2:按对象查出sid的值

select /*+ rule*/  SID from V$ACCESS WHERE object='BB_NBGLJY';  --972

注意:BB_NBGLJY 为存储过程的名称。

3:查sid,serial#

SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='972';

4:alter system kill session '972,15527' immediate;


猜你喜欢

转载自blog.csdn.net/zhangbingtao2011/article/details/79526353