GBase 8s
运维管理
文章

查询锁表会话

GBase社区管理员
发表于2024-01-30 16:37:59150次浏览1个评论

查找锁表会话:

select owner as sid
from sysmaster:syslocks
where dbsname = 'testdb'   --替换为库名
and tabname = 't'  --替换为表名
group by owner;

kill锁表会话:

onmode -z <sid>  --<sid>为第一步查找到的sid

查看某表上的锁情况:

--查看某表上的锁情况
select
dbsname,b.tabname,rowidr,keynum,
e.txt type,d.sid owner,g.username ownername,f.sid waiter,
h.username waitname
from sysmaster:syslcktab a,sysmaster:systabnames b,sysmaster:systxptab c,sysmaster: sysrstcb d,
sysmaster:sysscblst g,sysmaster:flags_text e, outer ( sysmaster:sysrstcb f , sysmaster:sysscblst h )
where a.partnum = b.partnum
and a.owner = c.address
and c.owner = d.address
and a.wtlist = f.address
and d.sid = g.sid
and e.tabname = 'syslcktab'
and e.flags = a.type
and f.sid = h.sid
and dbsname='testdb'  --替换为库名
and b.tabname ='t';   --替换为表名

示例输出:

dbsname    testdb
tabname    t
rowidr     0
keynum     0
type       IX
owner      69
ownername  gbasedbt
waiter
waitname

dbsname    testdb
tabname    t
rowidr     258
keynum     0
type       X
owner      69
ownername  gbasedbt
waiter
waitname

查询到 2 行。

评论

登录后才可以发表评论
用户头像
levvel发表于 2个月前
先水一个