系统全局锁-SYS_GLOCKS
📄字数 1.2K
👁️阅读量 加载中...
功能描述
SYS_GLOCKS系统表用于管理数据库当前节点全局锁信息。
字段说明
序号 | 字段名 | 类型 | 说明 | V11 | V12 |
---|---|---|---|---|---|
0 | NODEID | INTEGER | 节点ID | × | √ |
1 | LOCK_TYPE | INTEGER | 全局锁类型 | √ | √ |
2 | LOCK_ID | BIGINT | 锁ID | √ | √ |
3 | REF | VARCHAR | 锁引用描述 | √ | √ |
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解析
- 系统全局锁可通过
LOCK_ID
计算出对象ID,计算公式BIT_AND(LOCK_ID,4294967295)
。 - REF包含基础锁类型S(共享锁)、X(排他锁)和意向锁类型IS(意向共享锁)、IX(意向排他锁),以及组合锁类型SIX(组合锁)。
例如: [S]0- [S]:锁类型(共享锁)
- 0:0个节点持有该锁
应用举例
- 查询数据库所有锁信息
- 系统全局锁可通过lock_id计算出对象ID,计算公式BIT_AND(lock_id,4294967295)
sql
SQL> SELECT * FROM SYS_GLOCKS WHERE lock_id='576460765189374355';
+--------+-----------+--------------------+------------------------------+
| NODEID | LOCK_TYPE | LOCK_ID | REF |
+--------+-----------+--------------------+------------------------------+
| 2 | 3 | 576460765189374355 | [S]1,[X]0,[IS]0,[IX]0,[SIX]0 |
+--------+-----------+--------------------+------------------------------+
-- 通过公式计算出对象ID
SQL> SELECT BIT_AND(576460765189374355,4294967295);
+---------+
| EXPR1 |
+---------+
| 1048979 |
+---------+
--通过ID查询出对象信息
SQL> SELECT * FROM SYS_OBJECTS WHERE obj_id=1048979;
+-------+---------+-----------+---------+----------+----------+--------+--------+-----------+-----------+-----------+
| DB_ID | USER_ID | SCHEMA_ID | OBJ_ID | OBJ_NAME | OBJ_TYPE | IS_SYS | DROPED | RESERVED1 | RESERVED2 | RESERVED3 |
+-------+---------+-----------+---------+----------+----------+--------+--------+-----------+-----------+-----------+
| 3 | 110 | 110 | 1048979 | TTSTORE | 5 | F | F | <NULL> | <NULL> | <NULL> |
+-------+---------+-----------+---------+----------+----------+--------+--------+-----------+-----------+-----------+