系统全局锁-sys_glocks
功能描述
sys_glocks系统表用于管理数据库全局锁信息。
字段说明
序号 | 字段名 | 类型 | 说明 |
---|---|---|---|
0 | NODEID | INTEGER | 节点ID |
1 | LOCK_TYPE | INTEGER | 全局锁类型 |
2 | LOCK_ID | BIGINT | 锁ID |
3 | REF | VARCHAR | 锁引用描述 |
说明:
NODEID在较低版本的数据库中不支持,详细信息请联系运维人员获取。
LOCK_TYPE说明
数值 | 说明 | 等候对象 | 场景 |
---|---|---|---|
1 | 库级锁 | db_id | 修改系统元信息,如: 增加审计项、创建库、修改库元信息、删除对象、创建策略等 |
2 | 对象操作锁 | db_id、obj_id | 对象操作,如: 创建、删除、修改、开表、重建索引等操作 |
3 | 对象存储维护锁 | db_id、table_id | 对象存储维护,如: 存储迁移、修复,流式入库等 |
4 | 预留 | 预留 | 预留 |
5 | 全局存储锁 | gsto_no | 全局存储维护,如: 索引分裂、存储同步、master扩展全局存储、删除缓变副本等 |
6 | 局部存储读写锁 | sto_no | 局部存储维护,如: 存储同步 |
7 | 局部存储迁移锁 | sto_no | 局部存储操作,如: 复制局部存储、释放大对象存储、对表中插入行等 |
8 | 事务锁 | 事务号 | 事务操作,如: 事务初始化、事务开始 |
9 | 用户名锁 | db_id、user_name哈希值 | 用户操作,如: 用户登录、用户创建、修改、删除等 |
10 | 数据装载锁 | db_id、table_id | 流式入库操作,如: 数据流式导入 |
11 | 全局存储修复锁 | gsto_no | 全局存储操作,如: Master节点上索引单元分裂、远程创建全局存储、流式入库存储同步等 |
12 | 表分区扩展锁 | db_id、table_id | 分区表操作,如: 分区扩展、分区表删除、分区表开表等 |
13 | 全局临时表锁 | db_id、table_id | 临时表操作,如: 临时表修改、删除等 |
解析
- 系统全局锁可通过LOCK_ID计算出对象ID,计算公式BIT_AND(LOCK_ID,4294967295)。
- REF包含基础锁类型S(共享锁)、X(排他锁)和意向锁类型IS(意向共享锁)、IX(意向排他锁),以及组合锁类型SIX(组合锁)。 例如: [S]0
- [S]:锁类型(共享锁)
- 0:0个节点持有该锁
示例
查询系统等候全局锁类型
相关系统表
- sys_gowners
- sys_gwaiters