返回首页

gbase数据、南大通用产品文档:GBase8sonstat k 命令:打印活动的锁信息

更新日期:2024年09月11日

可以使用 onstat -k 命令打印活动锁的信息,包括锁表中的该锁的地址。
语法:

示例输出

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 639 -
可用锁的最大数量由 onconfig 文件中的 LOCKS 配置参数进行指定。
图: onstat -k 命令输出

在以下输出中,最后一行的数字 2 显示的是一个 Enterprise Replication 伪锁:

输出描述
address
锁表中锁的地址
如果用户线程正在等待该锁,那么锁的地址出现在 onstat -u (用户)输出的 wait 字段中。

wtlist
是正在等待锁的用户线程(如果有)列表中的第一项
owner
是正持有锁的线程的共享内存地址
此地址对应于 onstat -u (用户)输出的 address 字段中的地址。当 owner 值显示在括号
中时,它代表事务结构的共享内存地址。只有锁是为全局事务而分配时,才会出现这种情
况。该地址对应于 onstat -G 的输出的地址字段
lklist
是刚才列出的所有者所持有的链接列表中的下一个锁
type
使用以下代码指定锁的类型:
HDR

B
字节
S
共享
X
互斥
I
意向
U
更新

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 640 -
IX
意向—互斥
IS
意向—共享
SIX
共享,意向—互斥
tblsnum
是锁定资源的 tblspace 编号。如果数值小于 10000,那么它表示 Enterprise Replication 伪

rowid
是行标识号
Rowid 提供以下锁的信息:
 如果 rowid 等于 0 那么该锁为表锁
 如果 rowid 以两个 0 结束,那么该锁为页锁
 如果 rowid 为 6 个数字或更少且不以 0 结束,那么该锁很可能是行锁
 如果 rowid 多于 6 个数字,那么该锁很可能是索引键值锁
key#/bsiz
是索引键号或对于 VARCHAR 锁的已锁定字节数
如果该字段包含 'K-' ,后跟值,那么是键锁。值标识哪个索引正在被锁定。例如:K-1 表
示对表所定义的第一个索引上的锁。

COS(X)
函数说明
返回X 的余弦,此处,X 以弧度给出。
示例
示例1:X 为PI()。
gbase> SELECT COS(PI()) FROM dual;
+-----------+
| COS(PI()) |
+-----------+
|
-1 |
+-----------+
1 row in set

客户端应用使用接口时如遇SQL 语句过于复杂,导致服务器长时间未将结
果返回给客户端时(超时时间默认值30 秒)
,客户端会抛出超时异常。若避免
此情况的发生可在连接参数中指定connection_timeout 参数为一个较大的值。

6 GBase Python 客户端类
接口驱动基于Python Database API 2.0 标准,并实现了标准中定义的类、
属性、方法。请看如下表6-1 介绍。
表格 6-1 GBase Python 客户端类

描 述
GBaseConnection
连接类。负责接口和GBase 数据库端之间的
命令传输和数据接收。
GBaseCursor
游标类。游标类对外提供了操作GBase 数据
库主要接口。包括执行SQL 查询,获取结果
集,执行存储过程,获取存储过程结果集功
能。
GBaseError
异常类,定义了GBase 数据库和Python 标准
异常之间的映射关系。