address
是锁表中锁的地址
如果用户线程正在等待该锁,则锁的地址出现在 onstat -u(用户)输出的 wait 字段中。
wtlist
是正在等待锁的用户线程(如有)列表中的第一项
owner
是正持有锁的线程的共享内存地址
此地址对应于 onstat -u(用户)输出的 address 字段中的地址。
lklist
是刚才列出的所有者所持有锁的链接列表中的下一个锁
类型
使用以下代码指示锁的类型:
HDR
头
B
字节
S
共享
X
互斥
I
意向
U
更新
IX
意向-互斥
IS
意向-共享
SIX
共享的意向-互斥
tblsnum
是已锁定资源的表空间编号
rowid
是行标识号
行标识提供以下锁信息:
如果行标识等于 0,则该锁为表锁。
如果行标识以 2 个 0 结束,则该锁为页锁。
如果行标识为 6 个数字或更少且不以 0 结束,则该锁很可能是行锁。
如果行标识多于 6 个数字,则该锁很可能是索引键值锁。
key#/bsiz
是索引键号或对 VARCHAR 锁的已锁定字节数
如果该字段包含“K-”,后跟值,则是键锁。值标识哪个索引正在被锁定。例如:K-1 表示对表所定义的第一个索引上的锁。
可用锁的最大数量以 ONCONFIG 文件中的 LOCKS 进行指定。
查找锁定的表名称
通过onstat -k 查找的rowid 等于0的表锁信息的 tblsnum 信息查找表名。
如 tblsnum等于500e19
执行 select * from systables where hex(partnum)='0x00500e19'
查找到当前锁表的表名。