Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


局部锁-SYS_LOCKS

📄字数 793
👁️阅读量 加载中...

功能描述

SYS_LOCKS系统表用于管理数据库当前节点局部锁。

字段说明

序号字段名类型说明V11V12
0NODEIDINTEGER节点ID×
1LOCK_TYPEINTEGER全局锁类型
2LOCK_IDBIGINT锁ID
3REFVARCHAR锁引用描述
4NODE_OWNVARCHAR节点持有锁
5NODE_REQVARCHAR节点请求锁
6WAIT_REVOKEVARCHAR等候归还锁

应用举例

  • 查询拥有局部锁的节点ID
  • 查询局部持有锁信息
  • NODE_REQ、WAIT_REVOKE在锁请求过程中产生
sql
-- 1号节点执行
-- 创建表
SQL> CREATE TABLE tab_lock(id int);

-- 设置非自动提交
SQL> SET auto_commit OFF;

-- 为t1表增加排他锁
SQL> LOCK tab_lock IN EXCLUSIVE MODE;

-- 此时1号节点持有全局X锁
SQL> SELECT * FROM SYS_LOCKS WHERE node_own = 'x';
+--------+-----------+--------------------+------------------------------+----------+----------+-------------+
| NODEID | LOCK_TYPE |      LOCK_ID       |             REF              | NODE_OWN | NODE_REQ | WAIT_REVOKE |
+--------+-----------+--------------------+------------------------------+----------+----------+-------------+
| 1      | 2         | 576460756599439393 | [S]0,[X]1,[IS]0,[IX]0,[SIX]0 | X        |          |             |
+--------+-----------+--------------------+------------------------------+----------+----------+-------------+

-- 2号节点执行查询
SQL> SELECT * FROM tab_lock;

-- 1号节点查询
SQL> SELECT * FROM SYS_ALL_LOCKS WHERE lock_id= 576460756599439393;
+--------+-----------+--------------------+------------------------------+----------+----------+-------------+
| NODEID | LOCK_TYPE |      LOCK_ID       |             REF              | NODE_OWN | NODE_REQ | WAIT_REVOKE |
+--------+-----------+--------------------+------------------------------+----------+----------+-------------+
| 1      | 3         | 576460756599439393 | [S]0,[X]0,[IS]0,[IX]0,[SIX]0 | S        |          |             |
| 1      | 2         | 576460756599439393 | [S]0,[X]1,[IS]0,[IX]0,[SIX]0 | X        |          | IS          |
| 2      | 2         | 576460756599439393 | [S]0,[X]0,[IS]0,[IX]0,[SIX]0 |          | IS       |             |
+--------+-----------+--------------------+------------------------------+----------+----------+-------------+
-- 第三行,2号节点请求IS锁
-- 第二行,1号节点由于加了X锁,2号节点IS锁等候X锁归还

相关系统表