涉及的视图
v
l
o
c
k
,
数
据
库
存
在
的
锁
情
况
。
d
b
a
o
b
j
e
c
t
,
通
过
关
联
锁
的
t
a
b
l
e
i
d
获
取
表
名
方
便
查
看
。
v
lock ,数据库存在的锁情况。 dba_object,通过关联锁的table_id获取表名方便查看。 v
lock,数据库存在的锁情况。dbaobject,通过关联锁的tableid获取表名方便查看。vsessions,其中blocked 为 1表示该会话是产生阻塞的源头。但是sql_text显示的sql并不一定是造成阻塞的语句,如果一个会话执行了多个语句,该视图只能获取到最后一条执行语句。无法直观的看到执行语句。
获取某个表阻塞的会话
根据表查看该表存在的锁 其中blockd=1的会话表示造成阻塞的会话
select a.STATE,a.seq_no,a.TRX_ID,a.SESS_SEQ,a.CREATE_TIME,a.CLNT_IP,
c.OBJECT_NAME,a.sess_id,a.sql_text, b.blocked,b.lmode,b.tid,b.table_id
from v
s
e
s
s
i
o
n
s
a
,
v
sessions a,v
sessionsa,vlock b,dba_objects c
where a.trx_id=b.tid
and c.object_id=b.table_id
and c.OBJECT_ID in(5222)
and l.blocked=1
杀掉会话
sp_close_session(sess_id)