事务查询
虚拟表 __all_virtual_trans_stat
可用于查询系统中当前所有的活跃事务,
这个字段的对应关系怎么查看,有没有对应视图?
OB 4.2.1
根据文档库中的信息,可以回答您的问题。
在 OceanBase 数据库中,__all_virtual_trans_stat
是一个虚拟表,用于查询系统中当前所有的活跃事务。活跃事务是指事务已经开启但没有提交或回滚的事务。活跃事务所做的修改在提交前是临时的,其他事务无法看到。
state
字段的对应关系根据您提供的图片内容,state
字段的值及其对应的说明如下:
state 的值 | 说明 |
---|---|
INIT | 表示事务处于活跃状态,所有修改对其他事务不可见。 |
REDO COMPLETE | 表示事务已经将所有数据成功以日志形式持久化。 |
PREPARE | 表示事务已经开始提交,目前处于 PREPARE 状态,读取该事务的修改可能会被卡住(取决于版本号)。 |
PRECOMMIT | 表示事务即将提交,正在同步事务的提交版本号到所有涉及的参与者。 |
COMMIT | 表示事务已经开始提交,目前处于 COMMIT 状态,其他事务可以看到该事务的修改(取决于版本号)。 |
ABORT | 表示事务已经回滚,处于 ABORT 状态,其他事务不能看到该事务的修改。 |
CLEAR | 表示事务已经提交或回滚结束,处于 CLEAR 状态。 |
state
字段的对应关系您可以使用以下 SQL 查询来查看 state
字段的对应关系:
SELECT SESSION_ID, TRANS_ID, STATE
FROM oceanbase.__all_virtual_trans_stat
WHERE SESSION_ID = CONNECTION_ID();
SESSION_ID
:会话 ID。TRANS_ID
:事务 ID。STATE
:事务的状态。根据文档片段 5 和文档片段 6 的信息,OceanBase 数据库提供了动态性能视图来查询事务的相关信息。虽然 __all_virtual_trans_stat
是一个虚拟表,但您可以使用动态性能视图 GV$OB_SQL_AUDIT
或 V$OB_SQL_AUDIT
来查看并行执行的运行状态以及一些统计信息。
如果您需要更详细的事务信息,可以参考以下视图:
这些视图可以帮助您更好地了解事务的状态和性能。
根据文档库中的信息,__all_virtual_trans_stat
是查询系统中当前所有活跃事务的虚拟表,state
字段的值及其对应的关系如上表所示。您可以使用上述 SQL 查询来查看 state
字段的对应关系,并参考动态性能视图获取更多事务信息。
检索到的文档如下: