活动事务状态-SYS_TRANS
📄字数 897
👁️阅读量 加载中...
功能描述
SYS_TRANS系统表用于管理虚谷数据库当前节点活动事务信息。
字段说明
序号 | 字段名 | 类型 | 说明 | V11 | V12 |
---|---|---|---|---|---|
0 | NODEID | INTEGER | 节点ID | √ | √ |
1 | TRANID | BIGINT | 事务号 | √ | √ |
2 | START_T | DATETIME | 事务开始时间 | √ | √ |
3 | RSTUBS | VARCHAR | 根事务(主事务)的代理节点,逗号分隔的代理事务节点ID | √ | √ |
4 | IS_PROXY | BOOLEAN | 是否为代理事务 | √ | √ |
5 | R_NODE | INTEGER | 根事务(主事务)节点ID | √ | √ |
6 | R_TRANSID | BIGINT | 根事务(主事务)号 | √ | √ |
7 | WANT_SYNC | INTEGER | 待同步操作数 | √ | √ |
8 | DONE_SYNC | INTEGER | 已完成同步操作数 | √ | √ |
9 | DONE_DEL_IDX | INTEGER | 已完成的索引删除数 | √ | √ |
10 | MODIFY_COUNT | INTEGER | 事务更改操作次数 | √ | √ |
11 | CURR_CID | INTEGER | 事务命令号 | √ | √ |
应用举例
- 查询事务节点分布位置
- 查询未完成事务涉及的同步完成次数
- 查询长事务
- WANT_SYNC 待同步操作数(存储操作数,通常两副本,不存在ov存储、大对象存储的情况下,基本就是MODIFY_COUNT的两倍,存在则是2-6倍)
- DONE_SYNC 已完成操作数
- MODIFY_COUNT 事务操作数
sql
-- 创建表
SQL> CREATE TABLE tab_trans(a int,b VARCHAR(100));
-- 插入数据
SQL> DECLARE
BEGIN
FOR i IN 1..1000000 loop
INSERT into tab_trans VALUES(i,'1234567890');
END LOOP;
END;
/
-- 查询事务表
SQL> SELECT * FROM SYS_TRANS;
+--------+--------+--------------------------+--------+----------+--------+-----------+-----------+-----------+--------------+--------------+----------+
| NODEID | TRANID | START_T | RSTUBS | IS_PROXY | R_NODE | R_TRANSID | WANT_SYNC | DONE_SYNC | DONE_DEL_IDX | MODIFY_COUNT | CURR_CID |
+--------+--------+--------------------------+--------+----------+--------+-----------+-----------+-----------+--------------+--------------+----------+
| 1 | 1170 | 2025-07-02 14:25:13.000 | 2,3 | F | 1 | 1170 | 337374 | 337373 | 0 | 168688 | 168689 |
| 1 | 1171 | 2025-07-02 14:25:25.000 | | F | 1 | 1171 | 0 | 0 | 0 | 0 | 5 |
| 2 | 1064 | 2025-07-02 14:25:13.000 | | T | 1 | 1170 | 0 | 0 | 0 | 0 | 168691 |
+--------+--------+--------------------------+--------+----------+--------+-----------+-----------+-----------+--------------+--------------+----------+