返回首页

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

更新日期:2024年09月11日

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

示例输出

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 637 -

可用锁的最大数量由 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 管理员参考
南大通用数据技术股份有限公司 - 638 -

IX
意向—互斥
IS
意向—共享
SIX
共享,意向—互斥
tblsnum
是锁定资源的 tblspace 编号。如果数值小于 10000,那么它表示 Enterprise Replication 伪

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

管理 API)
随同 admin() 或 task() 函数,使用 scheduler 参数来启动或停止调度程序。
语法


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 785 -

用法
使用 scheduler shutdown 参数来停止调度程序并重新分配它的资源。
使用 scheduler start 参数来启动调度程序。
这个函数没有等同的实用程序命令。
您可用 onstat -g dbc 命令查看调度线程的状态。
示例
在调度程序已关闭之后,下列示例启动调度程序:
EXECUTE FUNCTION task("scheduler start");

功能说明
释放缓存中指定的表中所有(或某些列)非LOCKED 状态的内存,包括KEEP
状态(ALTER TABLE CACHE 命令装载)的DC。
语法格式
ALTER TABLE [vc_name.][database_name.]table_name NOCACHE
[ (column_lists) ]
表5- 91 参数说明
参数名称


vc_name
vc 名,可选项。
database_name
数据库名,可选项。
table_name
表名
column_lists
列名称,可选参数。指定多列时,之间用英文“,”隔开。
影响KEEP 状态的操作
影响KEEP 状态的操作如下表所示。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1044
表5- 92 影响KEEP 状态的操作
影响KEEP 的操作
描述
DROP TABLE
全表KEEP 状态数据失效。
ALTER TABLE ADD
COLUMN
全表KEEP 状态数据不变,新增列无KEEP 状态,需要重新
执行ALTER TABLE CACHE 命令装载。
ALTER TABLE
DROP COLUMN
被DROP 的列KEEP 状态数据失效。
UPDATE TABLE
被UPDATE 的列KEEP 状态数据失效。