【发布时间】:2012-11-15 19:24:21
【问题描述】:
如何在 firebird 中使用与交易相关的元数据(使用 2.1 版)?
例如:
1) 打开一个 isql 会话,更改一些表,保持事务打开。
2) 打开另一个 isql 会话,执行以下查询:
SELECT * FROM RDB$TRANSACTIONS;
不返回任何行。我需要启用什么特殊功能才能获取此信息吗?
【问题讨论】:
标签: transactions metadata firebird
如何在 firebird 中使用与交易相关的元数据(使用 2.1 版)?
例如:
1) 打开一个 isql 会话,更改一些表,保持事务打开。
2) 打开另一个 isql 会话,执行以下查询:
SELECT * FROM RDB$TRANSACTIONS;
不返回任何行。我需要启用什么特殊功能才能获取此信息吗?
【问题讨论】:
标签: transactions metadata firebird
表 RDB$TRANSACTIONS 仅用于分布式事务(即针对多个数据库运行的事务)。要监控常规事务,请改用表 MON$TRANSACTIONS。
MON$TRANSACTIONS (started transactions)
- MON$TRANSACTION_ID (transaction ID)
- MON$ATTACHMENT_ID (attachment ID)
- MON$STATE (transaction state)
0: idle
1: active
- MON$TIMESTAMP (transaction start date/time)
- MON$TOP_TRANSACTION (top transaction)
- MON$OLDEST_TRANSACTION (local OIT number)
- MON$OLDEST_ACTIVE (local OAT number)
- MON$ISOLATION_MODE (isolation mode)
0: consistency
1: concurrency
2: read committed record version
3: read committed no record version
- MON$LOCK_TIMEOUT (lock timeout)
-1: infinite wait
0: no wait
N: timeout N
- MON$READ_ONLY (read-only flag)
- MON$AUTO_COMMIT (auto-commit flag)
- MON$AUTO_UNDO (auto-undo flag)
- MON$STAT_ID (statistics ID)
【讨论】: