南大通用GBase8a MPP Cluster查看集群锁 showlock

GBase 8a的数据库集群,提供了gcadmin showlock的管理员命令,查看集群锁的情况。但一个SQL持续处于check permisison状态时,可以通过这个命令找到哪个session在占用这这个表的锁,获得锁的时间等。

用途

显示当前集群拥有锁的节点和进程。

使用方法

gcadmin showlock

显示内容包括

Lock name: 锁名字
owner 持有锁的节点IP
content: 锁类型和对应的 SESSIONID 和 LWP号
create time: 锁创建时间
orphan: 是否孤儿锁
type: S=共享Shared; E=独占Exclusive

使用样例

如上 testdb.v1表,在192.168.174.151(owner)节点进程号46(LWP 6857)拿到了独占锁(E),创建时间(create time)是2017-05-15 18:29:54。

其中SESSIONID和LWP分别对应于ID和tid两列。可以参考GBase8a 显示集群正在跑的SQL进程

如上是151节点,连接ID是 53029的,持有了dr_map表的锁,从前面的时间开始获得。

查看节点连接信息,可以参考:

参考

GBase 8a集群查看gnode计算节点某张表的锁