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表的锁,从前面的时间开始获得。
查看节点连接信息,可以参考: