SequoiaDB 简介
安装部署
数据库实例
分布式引擎
SAC 管控中心
参考手册
常见问题及解答(FAQ)
版本信息
事务快照可以列出数据库中正在进行的事务信息。
Note:
每一个数据节点上正在进行的每一个事务为一条记录。
$SNAPSHOT_TRANS
字段名 | 类型 | 描述 |
---|---|---|
NodeName | string | 节点名,格式为<主机名>:<端口号>) |
SessionID | int64 | 会话 ID |
TransactionID | string | 事务 ID |
TransactionIDSN | int64 | 事务序列号 |
IsRollback | boolean | 表示这个事务是否处于回滚中 |
CurrentTransLSN | int64 | 事务当前的日志 LSN |
BeginTransLSN | int64 | 事务开始的日志 LSN |
WaitLock | bson | 正在等待的锁 |
TransactionLocksNum | int32 | 事务已经获得的锁 |
RelatedID | string | 内部标识 |
GotLocks | bson array | 事务已经获得的锁列表 |
WaitLock 和 GetLocks 字段中锁对象的信息如下:
字段名 | 类型 | 描述 |
---|---|---|
CSID | int32 | 锁对象所在集合空间的 ID |
CLID | int32 | 锁对象所在集合的 ID |
ExtentID | int32 | 锁对象所在记录的 ID |
Offset | int32 | 锁对象所在记录的偏移量 |
Mode | string | 锁的类型,对应有"IS","IX","S","U"和"X" |
Count | int32 | 锁计数器(只在 GetLocks 中存在) |
Duration | int32 | 锁的持有或等待时间,单位为毫秒 |
锁对象每个字段取值不同表示不同的锁对象
锁对象 | CSID | CLID | ExtentID | Offset | 备注 |
---|---|---|---|---|---|
没有锁对象 | -1 | 65535 | -1 | -1 | 一般在WaitLock为没有锁对象时,表示当前事务没有在等待锁 |
集合空间锁 | >= 0 | 65535 | -1 | -1 | |
集合锁 | >= 0 | >= 0 | -1 | -1 | |
记录锁 | >= 0 | >= 0 | >= 0 | >= 0 |
查看事务快照
> db.exec( "select * from $SNAPSHOT_TRANS" )
输出结果如下:
{ "NodeName": "hostname:42000", "SessionID": 20, "TransactionID": "00040000000003", "TransactionIDSN": 3, "IsRollback": false, "CurrentTransLSN": 3314225876, "BeginTransLSN": 3314225744, "WaitLock": {}, "TransactionLocksNum": 3, "RelatedID": "c0a8143ec3500000000000000014", "GotLocks": [ { "CSID": 906, "CLID": 0, "ExtentID": 9, "Offset": 128, "Mode": "X", "Count": 2, "Duration": 907829 }, { "CSID": 906, "CLID": 0, "ExtentID": -1, "Offset": -1, "Mode": "IX", "Count": 2, "Duration": 907830 }, { "CSID": 906, "CLID": 65535, "ExtentID": -1, "Offset": -1, "Mode": "IS", "Count": 2, "Duration": 907830 } ] }