返回首页

gbase数据、南大通用产品文档:GBase8sENCRYPT_CIPHERS 配置参数

更新日期:2024年09月11日

使用 ENCRYPT_CIPHERS 配置参数来定义当前数据库会话可使用的所有密码和方式。
ENCRYPT_CIPHERS 仅用于 Enterprise Replication 和高可用性数据复制。
onconfig.std 值
未设置。不使用加密密码。

请参阅“用法”部分。
生效
编辑 onconfig 文件并重启数据库服务器之后。
用法
在两个服务器之间在公共密码中随机地选择加密密码和方式。如果发现某个特定密码有弱
点,您应使用 allbut 选项重置 ENCRYPT_CIPHERS 配置参数值来消除那个密码。
重要:包括所有密码比包括特定的密码更安全。
ENCRYPT_CIPHERS 配置参数的语法

表 1. ENCRYPT_CIPHERS 配置参数值的选项

描述
all
包括所有可用的密码和方式,除了 ECB 模式之外,该模式被认为

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

描述
有弱点。
例如: ENCRYPT_CIPHERS all
allbut
包括所有密码和方式,除了 ECB 罗列的密码和方式之外。
例如:ENCRYPT_CIPHERS allbut:
密码列表可包括唯一的、缩写的条目。例如,bf 可表示 bf-1、bf-2
和 bf-3;然而,如果缩写是一个实际密码的名字,则仅消除那个密
码。因此,des 仅 消除 des 密码,但 de 消除 des、des3 和 desx
密码。
cipher
支持下列密码:
 des = DES(64 位密钥)
 des3 = 三重 DES
 desx = 扩展 DES(128 位密钥)。只支持 cbc 方式。
 aes = AES 128 位密钥
 aes192 = AES 192 位密钥
 bf-1 = Blow Fish(64 位密钥)
 bf-2 = Blow Fish(128 位密钥)
 bf-3 = Blow Fish(192 位密钥)
 aes128 = AES 128 位密钥
 aes256 = AES 256 位密钥
所有方式支持所有密码,除了 desx 密码之外。
要了解最新的支持密码列表,请参阅 Release Notes®。
mode
支持下列模式:
 ecb = 电子密码本(ECB)。只包括指定的情况。
 cbc = 密码分组链接
 cfb = 密码反馈
 ofb = 输出反馈

输出描述
有关每个输出列的描述,
请分别参阅 onstat -g iob 命令:
打印大缓冲区的使用摘要 、
onstat
-g ioq 命令:打印 I/O 队列信息 和 onstat -g iov 命令:打印 AIO VP 统计信息 命令。
onstat -g iob 命令:打印大缓冲区的使用摘要
使用 onstat -g iob 命令显示大缓冲区的使用摘要。
语法:

示例输出
图: onstat -g iob 命令输出

onstat -g iof 命令:打印 asynchronous I/O 统计信息
使用 onstat -g iof 命令显示按 chunk 或文件的 asynchronous I/O 统计信息。
这个命令与 onstat -D 命令相似,除了 onstat -g iof 也显示非 chunk 文件的信息。它包含
临时文件和排序工作文件的信息。
语法:

示例输出
图: onstat -g iof 命令输出

输出描述

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 545 -
gfd
该 chunk 或文件的全局文件描述符编号
pathname
Chunk 或文件的路径名
bytes read
已经对 chunk 或文件执行的读取的字节数
page reads
已经对 chunk 或文件执行的页读取数
bytes write
已经对 chunk 或文件执行写入的字节数
page writes
已经对 chunk 或文件执行的页写入数
io/s
每妙执行的 I/O 操作数,该值代表 chunk 或文件的 I/O 性能
op type
操作类型
count
此操作发生的次数
avg time
操作结束所花的平均时间
onstat -g iog 命令:打印 AIO 全局信息
使用 onstat -g iog 命令显示有关 AIO 的全局信息。
语法:

示例输出
图: onstat -g iog 命令输出

onstat -g ioq 命令:打印 I/O 队列信息
可以使用 onstat -g ioq 命令显示关于由 I/O 队列执行的操作的数量和类型的统计信息。
语法:


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 546 -
如果给定一个 queue_name ,那么只显示具有该名称的队列。如果未给定 queue_name ,
那么显示所有队列的信息。
示例输出
图: onstat -g ioq 命令输出

输出描述
q name/id
I/O 队列的名称和编号。名称说明队列的类型。编号用来区分具有相同名称的队列。
以下是可能的队列名称以及每个类型的队列处理的对象的列表:
sqli_dbg
处理 GBase 技术支持的 SQL 接口调试功能的 I/O
fifo
处理 FIFO VPs 的 I/O
adt
处理审计 I/O
msc
处理杂项 I/O
aio
处理 GBase 8s 异步 I/O
kio
处理内核 AIO

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 547 -
pio
处理物理日志记录 I/O
lio
处理逻辑日志记录 I/O
gfd
全局文件描述符 - 为每个主 chunk 和镜像 chunk 分配单独的全局文件描述符。每个
gfd 队列的使用取决于 kaio 是否开启以及关联 chunk 是格式化的还是原始的
len
在队列中暂挂 I/O 请求的数量
maxlen
队列中同时存在的 I/O 请求的最大数量
totalops
队列中已经完成的 I/O 操作的总数
dskread
队列已完成的读操作的总数
dskwrite
队列已完成的写操作的总数
dskcopy
队列已完成的复制操作的总数
onstat -g ipl 命令:打印索引页日志状态信息
可以使用 onstat -g ipl 命令显示索引页日志的状态信息。
语法:

示例输出
图: onstat -g ipl 命令输出

输出描述
Index page logging status
索引页日志记录状态:已启用或禁用
Index page logging was enabled at
启用索引页日志记录的日期和时间
onstat -g iov 命令:打印 AIO VP 统计信息
可以使用 onstat -g iov 命令显示每个虚拟处理器的异步 I/O 统计信息。
语法:

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

示例输出
图: onstat -g iov 命令输出

输出描述
class
虚拟处理器类
vp
虚拟处理器在类中的 ID 编号
s
AIO 虚拟处理器的当前状态
f
派生
i
空闲
s
搜素
b
正忙
o
打开
c
关闭
io/s
自数据库服务器启动以来或自 onstat -z 上次运行以来(看着两者哪个发生在后)虚拟处理
器的平均 I/O 速度(以每秒操作数衡量)
totalops
自数据库服务器启动以来或自 onstat -z 上次运行以来(看着两者哪个发生在后)虚拟处理
器执行的 I/O 操作总数(以每秒操作数衡量)
dskread

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 549 -
自数据库服务器启动以来或自 onstat -z 上次运行以来(看着两者哪个发生在后)虚拟处理
器执行的读操作总数(以每秒操作数衡量)
dskwrite
自数据库服务器启动以来或自 onstat -z 上次运行以来(看着两者哪个发生在后)虚拟处理
器执行的写操作总数(以每秒操作数衡量)
dskcopy
自数据库服务器启动以来或自 onstat -z 上次运行以来(看着两者哪个发生在后)虚拟处理
器执行的复制操作总数(以每秒操作数衡量)
wakeups
对于 AIO VPs ,是自数据库服务器启动以来或自 onstat -z 上次运行以来(看着两者哪个
发生在后)虚拟处理器处于空闲状态的次数
io/wup
对于 AIO VPs ,是自数据库服务器启动以来或自 onstat -z 上次运行以来(看着两者哪个
发生在后)该虚拟处理器每次唤醒执行的 I/O 操作平均数
errors
KAIO 超出资源的错误总数
tempops (decimal)
仅供内部使用。
是用来确定何时添加新 AIO VP 的 I/O 操作计数。
它只在 AUTO_AIOVPS
配置参数启用时应用。
onstat -g lap 命令:打印轻量级追加(GBase_8s light append)状态信息
可以使用 onstat -g lap 命令显示有关系统内的轻量级追加的状态信息。
语法:

示例输出
图: onstat -g lap 命令输出

输出描述
Session id (decimal)
执行轻量级追加操作的会话 ID
address (hexadecimal)
轻量级追加缓冲区的地址
cur_ppage (hexadecimal)
当前的物理页面地址

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 550 -
la_npused (decimal)
分配的页面数
la_ndata (decimal)
附加的数据的页面数
la_nrows (decimal)
附加的行数
bufcnt (decimal)
轻量级追加缓冲区数
onstat -g laq 命令:打印辅助服务器队列
使用 onstat -g laq 命令打印有关从主服务器接收的应用日志信息的辅助服务器队列的信
息。
在高可用性集群中,主服务器通过网络向一台或多台辅助服务器发送日志记录。每个辅助
服务器持续重播来自主服务器的事务日志,以确保数据复制到辅助服务器中。主服务器中
的每个 tblspace 被分配到辅助服务器的队列中去接收日志记录。
称作 apply thread 的线程,
将应用该日志存储到辅助服务器的队列中。这些日志以它们接收时的顺序来应用。
可以使用 onstat -g laq 命令监视该队列在辅助服务器上的性能。如果您怀疑由于辅助服务
器上的日志没有及时重播而造成主服务器性能降低,那么可以使用该命令。Avg Depth(平
均深度)列标示了上次队列插入操作发生时队列中日志的平均数量
onstat -g laq 命令只在辅助服务器上可用。在主服务器上运行该命令只会返回 onstat 头的
输出。
语法:

示例输出
图: onstat -g laq 命令输出

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

输出描述
Thread
分配接收日志记录的应用线程的名称
Queue Size
等待该应用线程的日志记录队列数
Total Queued
给出的应用线程队列中的日志记录的总数
Avg Depth
上次队列插入操作发生时队列中日志的平均数量
Secondary Apply Queue
该辅助应用队列接收来自主服务器的日志缓冲区。显示的值代表分配给接收日志缓冲区记
录的缓冲区总数、队列的大小及可用缓冲区数
Log Recovery Queue
该日志恢复队列接收来自辅助应用队列的输出。
日志缓冲区被转换成兼容 ontape 实用程序
的格式。显示的值代表恢复队列中流缓冲区的总数、流缓冲区的大小及可用缓冲区数
Log Page Queue
该日志页队列接收来自日志恢复队列的输出。ontape 格式被移除并且数据分割成独立的日
志页。显示的值代表恢复队列中的日志页的总数、队列的大小以及可用缓冲区数
Log Record Queue
该日志队列接收来自日志页队列的输出。此日志页被分割成独立的日志记录。显示的值代
表恢复队列中的日志记录数、队列的大小以及可用缓冲区数
onstat -g lmm 命令:打印低内存管理信息
使用 onstat -g lmm 命令显示有关自动低内存管理设置及其近期活动。

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

示例输出
图: onstat -g lmm 命令输出
Low Memory Manager

Control Block 0x4cfca220
Memory Limit 300000 KB
Used 149952 KB
Start Threshold 10240 KB
Stop Threshold 10 MB
Idle Time 300 Sec
Internal Task Yes
Task Name 'Low Memory Manager'
Low Mem TID 0x4cfd7178
# Extra Segments 0

Low Memory Manager Tasks

Task Count Last Run
Kill User Sessions 267 04/04/2011.16:57
Kill All Sessions 1 04/04/2011.16:58
Reconfig(reduce) 1 04/04/2011.16:59
Reconfig(restore) 1 04/04/2011.17:59

Last 20 Sessions Killed

Ses ID Username Hostname PID Time
194 sfisher host01 13433 04/04/2011.16:57
201 sfisher host01 13394 04/04/2011.16:57
198 sfisher host01 13419 04/04/2011.16:57
190 sfisher host01 13402 04/04/2011.16:57
199 sfisher host01 13431 04/04/2011.16:57

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

Total Killed 177
输出描述
Control Block
自动低内存管理的内部控制结构地址
Memory Limit
服务器可以附加的内存量
Used
服务器当前已使用的内存量
Start Threshold
自动低内存管理的启动阈值
Stop Threshold
自动低内存管理的停止阈值
Idle Time
自动低内存管理认为一个会话空闲后的时间量
Internal Task
Yes = 使用 GBase 8s 程序
No = 使用用户自定义程序
Task Name
用户自定义程序名称
Low Mem TID
自动低内存管理线程的地址
Task
Kill = 自动运行进程并终止会话
Reconfig(减少) = 自动运行进程并释放 block 未使用的内存
Reconfig(恢复) = 自动运行进程并恢复服务和配置
Count
执行该任务的次数
Last Run
最近一次执行任务的日期和时间
Ses ID
终止的会话的 ID(使用 onmode –z 命令)
Username
会话所有者的用户名
Hostname

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 554 -
发起会话的主机的名称
PID
进程 ID
Time
会话终止的日期和时间
可以使用 LOW_MEMORY_MGR 配置参数来启用自动低内存管理。
onstat -g lmx 命令:打印所有锁定的互斥
可以使用 onstat -g lmx 命令显示所有锁定的互斥的信息。
语法:

示例输出
图: onstat -g lmx 命令输出

输出描述
mid
内部互斥标识符
addr
锁定的互斥的地址
name
互斥的名称
holder
持有这个互斥的线程的 ID
0 = 在共享模式下持有的读/写互斥
lkcnt
对于读/写互斥,是线程在共享模式下锁定的此互斥的数量。对于重新锁定互斥,它是此线
程持有的互斥被锁定或重新锁定的次数
waiter
等待这个互斥的线程 ID 的列表
waittime
此线程已经等待的时间(以秒为单位)

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 555 -
onstat -g lsc 命令:打印活动的轻度扫描(GBase_8s light scan)状态(不推荐使用)
onstat -g lsc 命令已被 onstat -g scn 命令取代。
语法:

示例输出
图: onstat -g lsc 命令输出

输出描述
descriptor (decimal)
轻度扫描 ID
address (hex)
轻度扫描描述符的内存地址
next_lpage (hex)
下一个要扫描的逻辑页地址
next_ppage (hex)
下一个要扫描的物理页地址
ppage_left (decimal)
在当前 extent 中要扫描的剩余物理页数
#bufcnt (decimal)
用于此轻度扫描的细体扫描缓冲区数
#look_aside (char)
此轻度扫描是否要观察周边(Y = yes ,N = no)。当线程需要在缓冲池中检查现有页以获
得正在被轻度扫描的页的最新图像时,发生观察周边操作
使用 onstat -g scn 命令显示当前扫描的状态、基于压缩表行扫描、行大于页的表、具有
VARCHAR 、
LVARCHAR 和 NVARCHAR 数据类型的表。
有关更多信息,
请参阅 onstat
-g scn 命令;打印扫描选项。
onstat -g mem 命令:打印池内存统计信息
可以使用 onstat -g mem 命令显示某个池的内存统计信息。
如果运行来自 PER_STMT_EXEC 和 PER_STMT_PREPf 内存持续时间池的分配内存的
SQL 查询,那么 onstat -g mem 命令显示有关 PRP.sessionid.threadid 池和
EXE.sessionid.threadid 池的信息。
语法:

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

会话池以会话编号命名。如果未提供参数,那么将显示所有池的信息。
示例输出
图: onstat -g mem 命令输出

输出描述
Pool Summary
name
池的名称
在创建池的位置的共享内存段类型
addr
池内存地址
totalsize
池大小,以字节表示
freesize
在池中的可用内存量
#allocfrag
在池中的已分配的分片
#freefrag
在池中的可用分片
Blkpool Summary
name
池的名称
在创建池的位置的共享内存段类型
addr
池内存地址

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 557 -
size
池大小,以字节表示
#blks
池中的 block 数
onstat -g mgm 命令:打印 MGM 资源信息
可以使用 onstat -g mgm 命令显示有关内存分配管理器(MGM)资源信息。
可以使用 onstat -g mgm 命令监视 MGM 如何协调内存使用和扫描线程。此命令读取共享
内存结构并提供在命令执行时的精确统计信息。
语法:

onstat -g mgm 输出显示称作 quantum 的内存单位。memory quantum 代表内存单位,如下
所示:
memory quantum = DS_TOTAL_MEMORY / DS_MAX_QUERIES
以下算式显示 onstat -g mgm 输出的值的 memory quantum:
memory quantum = 4000 kilobytes / 31
= 129 kilobytes
数据库服务器根据分配内存的需求调整 quantum 的值。因此,onstat -g mgm 命令显示的
quantum 值并非一直精确。
scan thread quantum 总是等于 1。
示例输出
图: onstat -g mgm 命令输出
Memory Grant Manager (MGM)
--------------------------
MAX_PDQPRIORITY: 100
DS_MAX_QUERIES: 31
DS_MAX_SCANS: 1048576
DS_NONPDQ_QUERY_MEM: 128 KB
DS_TOTAL_MEMORY: 4000 KB

Queries: Active Ready Maximum
0 0 31
Memory: Total Free Quantum
(KB) 4000 4000 128


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 558 -
Scans: Total Free Quantum
1048576 1048576 1

Load Control: (Memory) (Scans) (Priority) (Max
Queries)
(Reinit)
Gate 1 Gate 2 Gate 3 Gate 4 Gate 5
(Queue Length) 0 0 0
0 0

Active Queries: None
Ready Queries: None
Free Resource Average # Minimum #
-------------- --------------- ---------
Memory 0.0 +- 0.0 500
Scans 0.0 +- 0.0 1048576

Queries Average # Maximum # Total #
-------------- --------------- --------- -------
Active 0.0 +- 0.0 0 0
Ready 0.0 +- 0.0 0 0

Resource/Lock Cycle Prevention count: 0
输出描述
输出的第一部分显示 PDQ 配置参数的值。
输出的第二部分描述 MGM 内部控制信息。它包括四组的信息。第一组是 Queries:
Active
当前正在执行的 PDQ 查询的数量
Ready
已准备好运行但数据库服务器由于装入控制原因而延迟查询执行的用户查询的数量
Maximum
数据库服务器允许处于活动状态的查询的最大数量。反映 DS_MAX_QUERIES 配置参数
的当前值
下一组是 Memory:
Total

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 559 -
可由 PDQ 查询使用的可用内存的 KB (DS_TOTAL_MEMORY 指定这个值)
Free
用于 PDQ 查询的当前未使用的内存的 KB
Quantum
在 memory quantum 中的内存的 KB
下一组是 Scans:
Total
由 DS_MAX_SCANS 配置参数指定的扫描线程的总数
Free
当前可用于决策支持查询的扫描线程的数量
Quantum
在扫描线程量子中的扫描线程的数量
该部分输出的最后一组描述 MGM Load Control:
Memory
正在等待内存的查询的数量
Scans
正在等待扫描的查询的数量
Priority
正在等待具有更高 PDQ 优先级的查询运行的查询的数量
Max Queries
正在等待查询 slot 的查询数量
Reinit
在 onmode -M 或 -Q 命令之后,正等待正在运行的查询完成的查询的数量
输出的下一部分 Active Queries 描述 MGM 活动的和就绪的队列。
这部分输出显示在每个
入口等待的查询的数量:
Session
启动查询的会话的会话 ID
Query
与查询相关联的内部控制 block 的地址
Priority
分配给查询的 PDQ 优先级
Thread
向 MGM 注册查询的线程
Memory
当前分配给查询或为查询保留的内存量(单位是 MGM 页,即 8 KB)

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 560 -
Scans
有查询当前使用的扫描线程的数量,或者分配给查询的扫描线程的数量
Gate
查询正在该处等待的入口编号
输出的下一部分 Free Resource 提供 MGM 可用资源的统计信息。这个部分和最后部分的
数值反映自系统初始化或自上次 onmode -Q 、-M 或 -S 命令以来的统计信息。这部分输
出包含以下信息:
Average
平均内存量和扫描数量
Minimum
最小可用内存量和扫描数量
输出的下一部分 Queries 提供关于 MGM 查询的统计信息:
Average
活动且就绪队列的平均长度
Maximum
活动且就绪队列的最大长度
Total
活动且就绪队列的总长度
Resource/Lock Cycle Prevention count
系统为了避免潜在的死锁而直接激活一个查询的次数。(数据库服务器可以察觉如果没有
立即运行查询的话,其队列内一些查询什么时候可能发生死锁情况。)
onstat -g nbm 命令:打印 block 位图
可以使用 onstat -g nbm 命令显示非常驻段的 block 位图。
位图的每个位代表一个 4 KB 的 block。如果 block 正在使用,那么该位设置为 1 。如果
block 是空闲可用的,那么该位设置为 0 。
位图以一系列的十六进制数字显示。位从 0 开
始编号,
从而 block 也从 0 开始编号,
所以第一个 block 是 block 0,
第二个是 block 1 ,
以此类推。
语法:

示例输出
这个示例显示在 0x10CC00000 的虚拟内存段的位图。
位图自身是在 0x10CC00290 。
这个
段的全部 1792 个 block 都可用。除了 block 0 和 block 1023 。
图: onstat -g nbm 命令输出

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

输出描述
address
位图的起始地址
size
位图中的位数。这也是在内存段中的 4 KB block 的数量
used
在位图中设置为 1 的位的总数。这也是在内存段中的使用中的 4 KB block 的数量
largest free
如果这个值不是 -1 ,那么它是连续可用位的最大数量。它也是在内存段的最大邻接 block
集合中 4 KB block 的数量 。
值 -1 表示还未计算最大可用空间。数据库服务器只在尝试分配从 lastalloc block 开始的
block 集合却没有足够可用空间时计算最大可用空间。一旦在段中分配了另一个 block ,
这个值就再次设置为 -1 。
onstat -g nsc 命令:打印当前的共享内存连接信息
可以使用 onstat -g nsc 命令显示有关当前所有连接或特定连接 ID 的共享内存连接的信
息。
语法:

如果未提供 client_id ,那么给出关于到数据库服务器的所有当前共享内存连接的信息。如
果提供了 client_id ,那么此命令给出具有该 ID 的共享内存连接的更详细的信息。
示例输出
以下是不带有 client_id 的 onstat -g nsc 输出。
它显示当前只有一个用户通过共享内存连接
到数据库服务器。这个连接的 ID 是 0 。
图: onstat -g nsc 命令输出

此示例显示使用 client_id 0 运行命令的输出:

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 562 -
图: 带有 client id 的 onstat -g nsc 命令输出

输出描述
clientid
服务器分配的 ID
clientPID
客户端进程 ID
state
连接状态
Connected
客户端已和服务器建立了连接
Con1
服务器已经成功建立与客户端的连接,但客户端尚未得到通知
Waiting
服务器正处于与客户机建立连接的过程中
Reject
服务器已经拒绝客户机连接,通常是由于服务器正在关闭或还未处于联机方式
Closed
服务器已关闭与客户端的连接。客户端可能还不知道这个情况
Not connected
服务器正在初始化连接的内部结构
Unknown

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 563 -
连接已关闭,并且客户端知道这个情况。服务器正在消除内部结构
#serverbufs
当前分配的数据库服务器缓冲区
#clientbufs
当前分配的客户端缓冲区
#rdwrts
自连接创建以来通过这个连接执行的读和写的总数
仅当带 client_id 运行 onstat -g nsc 命令时,以下项才显示在输出中:
needbuf
标示服务器是否在等待释放某个缓冲区
0
False
1
True
segid
共享内存段 ID
semid
信号量 ID
semnum
在信号量 ID 中的信号量编号
be_semid
后端信号量 ID
be_semnum
在信号量 ID 中的后端信号量编号
be_curread
正被读取的后端缓冲区的 ID
be_curwrite
正被写入的后端缓冲区的 ID
fe_curread
正被读取的前端缓冲区的 ID
fe_currwrite
正被写入的前端缓冲区的 ID
be_nextread
要读取的下一个后端缓冲区的 ID
be_nextwrite
要写入的下一个后端缓冲区的 ID

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 564 -
fe_nextread
要读取的下一个前端缓冲区的 ID
fe_nextwrite
要写入的下一个前端缓冲区的 ID
readyqueue
共享缓冲区标识队列
Buffers
i
消息缓冲区的内部位置键
bufid
消息缓冲区 ID
status
消息缓冲区的状态
offset
共享内存段中的内存缓冲区的偏移量
fe_addr
消息缓冲区的前端地址
onstat -g nsd 命令:打印轮询线程共享内存数据
可以使用 onstat -g nsd 命令显示轮询线程的共享内存数据。
语法:

示例输出
图: onstat -g nsd 命令输出

onstat -g nss 命令:打印共享内存网络连接状态
可以使用 onstat -g nss sessionid 命令显示有关共享内存网络连接状态的信息。
语法:

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

如果未提供 sessionid ,那么会为每个共享内存连接列出一行摘要。
示例输出
图: onstat -g nss 命令输出

输出描述
clientid (decimal)
服务器为查找分配的值
clientPID (decimal)
客户端进程 ID
state (string)
连接的当前状态
 Connected
 Con1
 Waiting
 Reject
 Bedcover
 Closed
 Not connected
 Unknown
#serverbufs (dec)
当前分配的数据库服务器的缓冲区数
#clientbufs (dec)
当前分配的客户端缓冲区数
#rdwrts (dec)
使用中的缓冲区数
onstat -g ntd 命令:打印网络统计信息
可以使用 onstat -g ntd 命令按服务显示网络统计信息。
语法:

示例输出
图: onstat -g ntd 命令输出

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

onstat -g ntm 命令:打印网络邮件的统计信息
可以使用 onstat -g ntm 命令打印网络邮件的统计信息。
语法:

示例输出
图: onstat -g ntm 命令输出

onstat -g ntt 命令:打印网络用户的次数
可以使用 onstat -g ntt 命令显示有关网络用户时间的信息。
语法:

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

示例输出
图: onstat -g ntt 命令输出

onstat -g ntu 命令:打印网络用户统计信息
可以使用 onstat -g ntu 命令显示有关网络用户的统计信息。
语法:

示例输出
图: onstat -g ntu 命令输出

onstat -g opn 命令:打印打开的分区
可以使用 onstat -g opn 命令显示通过线程 ID 打印系统中当前打开的分区(表和索引)的
列表。
使用 thread_id 选项来限制指定 ID 的列表。
语法:

示例输出
图: onstat -g opn 命令输出
tid rstcb isfd op_mode op_flags partnum
ucount ocount lockmode
38 0x00000000460db7b0 0 0x00000400 0x00000397 0x001000af 2
2 0

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 568 -
38 0x00000000460db7b0 1 0x00000002 0x00000117 0x001000af 2
2 0
38 0x00000000460db7b0 2 0x00000440 0x00000797 0x0010010c 2
0 0
38 0x00000000460db7b0 3 0x00000400 0x00000407 0x0010010a 2
0 0
38 0x00000000460db7b0 4 0x00000400 0x00000407 0x0010010a 2
0 0
38 0x00000000460db7b0 5 0x00000002 0x00000003 0x00100003 2
2 0
38 0x00000000460db7b0 6 0x00000400 0x00000397 0x00100003 2
2 0
38 0x00000000460db7b0 7 0x00000400 0x00000413 0x0010010f 2
0 0
38 0x00000000460db7b0 8 0x00000440 0x00000797 0x0010010c 2
0 0
38 0x00000000460db7b0 9 0x00000402 0x00000403 0x0010010f 2
0 0
38 0x00000000460db7b0 10 0x00000442 0x00000403 0x00100111 1
0 0
38 0x00000000460db7b0 11 0x00000442 0x00000403 0x00100110 1
0 0
38 0x00000000460db7b0 12 0x00000442 0x00000403 0x00100112 1
0 0
38 0x00000000460db7b0 15 0x00000400 0x00004407 0x00000006 1
0 0
38 0x00000000460db7b0 16 0x00000400 0x00000413 0x00100119 1
0 0

36 0x00000000460dbf98 0 0x00000400 0x00000397 0x001000af 2
2 0
36 0x00000000460dbf98 1 0x00000002 0x00000003 0x001000af 2
2 0

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 569 -
36 0x00000000460dbf98 3 0x00000402 0x00000407 0x0010010a 2
0 0
36 0x00000000460dbf98 4 0x00000400 0x00000413 0x0010010a 2
0 0
36 0x00000000460dbf98 6 0x00000442 0x00000797 0x0010010c 1
0 0

37 0x00000000460dc780 0 0x00000400 0x00000397 0x001000af 2
2 0
37 0x00000000460dc780 1 0x00000002 0x00000117 0x001000af 2
2 0
37 0x00000000460dc780 2 0x00000400 0x00000407 0x0010010a 2
0 0
37 0x00000000460dc780 3 0x00000440 0x00000797 0x0010010c 2
0 0
37 0x00000000460dc780 4 0x00000400 0x00000413 0x0010010f 2
0 0
37 0x00000000460dc780 5 0x00000400 0x00000407 0x0010010a 2
0 0
37 0x00000000460dc780 6 0x00000440 0x00000797 0x0010010c 2
0 0
37 0x00000000460dc780 7 0x00000400 0x00000397 0x00100003 2
2 0
37 0x00000000460dc780 8 0x00000002 0x00000003 0x00100003 2
2 0
37 0x00000000460dc780 9 0x00000442 0x00000403 0x00100111 1
0 0
37 0x00000000460dc780 10 0x00000442 0x00000403 0x00100110 1
0 0
37 0x00000000460dc780 11 0x00000402 0x00000403 0x0010010f 2
0 0
37 0x00000000460dc780 12 0x00000400 0x00000413 0x00100119 1
0 0

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 570 -
37 0x00000000460dc780 13 0x00000442 0x00000403 0x00100112 1
0 0
37 0x00000000460dc780 14 0x00000400 0x00004407 0x00000006 1
0 0
输出描述
tid (decimal)
当前访问分区资源(表和索引)的线程 ID
rstcb (hexadecimal)
该线程的 RSAM 线程控制 block 的内存地址
isfd (decimal)
与打开分区关联的 ISAM 文件描述符
op_mode (hexadecimal)
使用以下十六进制值组合的分区锁定方式的当前状态:
0x000000 Open for input only
0x000001 Open for output only
0x000002 Open for input and output
0x000004 System catalog
0x000008 No logical logging
0x000010 Open if not already opened for alter
0x000020 Open all fragments data and index
0x000040 Do not allocate a blob descriptor
0x000080 Open for alter
0x000100 Open all data fragments
0x000200 Automatic record lock
0x000400 Manual record lock
0x000800 Exclusive ISAM file lock
0x001000 Ignore dataskip - data cannot be ignored
0x002000 Dropping partition - delay file open
0x004000 Do not drop blobspace blobs when table dropped
(alter fragment)
0x010000 Open table for DDL operations
0x040000 Do not assert fail if this partnum does not exist
0x080000 Include fragments of subtables
0x100000 Table created under supertable

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 571 -
0x400000 Blob in use by CDR
op_flags (hexadecimal)
分区的当前状态使用以下十六进制值组合:
0x0001 Open data structure is in use
0x0002 Current position exists
0x0004 Current record has been read
0x0008 Duplicate created or read
0x0010 Skip current record on reverse read
0x0020 Shared blob information
0x0040 Partition opened for rollback
0x0080 Stop key has been set
0x0100 No index related read aheads
0x0200 isstart called for current stop key
0x0400 Pseudo-closed
0x0800 Real partition opened for SMI query
0x1000 Read ahead of parent node is done
0x2000 UDR keys loaded
0x4000 Open is for a pseudo table
0x8000 End of file encountered when positioning in table
partnum (hexadecimal)
已打开资源(表和索引)的分区数
ucount (decimal)
当前访问该分区的用户线程数
ocount (decimal)
打开该分区的次数
lockmode (decimal)
使用以下代码值之一保存锁定类型:
0 No locks
1 Byte lock
2 Intent shared lock
3 Shared lock
4 Shared lock by repeatable read (only on items)
5 Update lock
6 Update lock by repeatable read (only on items)

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 572 -
7 Intent exclusive lock
8 Shared, intent exclusive lock
9 Exclusive lock
10 Exclusive lock by repeatable read (only on items)
11 Inserter's repeatable read test lock
onstat -g osi 命令:打印操作系统的信息
可以使用 onstat -g osi 命令显示您的操作系统和参数的信息,包括共享内存和信号量参数、
电脑上当前配置的内存量和未使用的内存量。
示例输出
onstat -g osi 命令也显示电脑上硬件程序的统计信息。
在服务器未联机时使用该命令。
图: onstat -g osi 命令输出

onstat -g pos 命令:打印文件值
可以使用 onstat -g pos 命令显示 $GBASEDBTDIR/etc/.infos.DBSERVERNAME 文件中的
值。
语法:

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

示例输出
图: onstat -g pos 命令输出

onstat -g ppd 命令:打印分区压缩字典信息
可以使用 onstat –g ppd 命令显示为压缩表和表分片或压缩 B-tree 索引创建的活动压缩
字典的信息。可以选择打印特定编号分区或所有打开分区的信息。
onstat –g ppd 命令打印的信息与在 sysmaster 数据库中 syscompdicts_full 表和
syscompdicts 视图显示的信息相同。
唯一的区别是 syscompdicts_full 表和 syscompdicts 视
图不仅仅只显示活动字典,还显示所有压缩字典的信息。
语法:

如果指定了分区号,
那么 onstat -g ppd 打印该分区的分区概要文件信息。如果指定 0 ,

选项打印所有分区的概要文件信息。
示例输出
图: onstat –g ppd Output

输出描述
partnum
应用压缩字典的分区号
ColOffset
压缩分区 blob 列的字节偏移量。-1 表示只有该行是压缩的
DbsNum
字典驻留的 dbspace 号
CrTS
显示创建该字典的时间戳

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 574 -
CrLogID
当创建字典时,创建的逻辑日志的唯一 ID
CrLogPos
创建字典时,逻辑日志的位置
DrTS
显示何时清除该字典的时间戳
DrLogID
当清除字典时,创建的逻辑日志的唯一 ID
DrLogPos
清除字典时,逻辑日志的位置
onstat -g ppf 命令:打印分区的概要文件
可以使用 onstat -g ppf partition_number 命令显示指定分区号的分区概要文件。
使用 onstat -g ppf 或 onstat -g ppf 0 命令显示所有分区的概要文件。如果
TBLSPACE_STATS 配置参数设置为 0 ,那么 onstat -g ppf 命令显示:Partition profiles
disabled。
有关 onstat -g ppf 命令的更多信息,请参阅 GBase 8s 性能指南 。
语法:

示例输出
图: onstat -g ppf 命令输出

输出描述
partnum (hex)
分区号
lkrqs (decimal)
请求分区的锁的数量
lkwts (decimal)
等待分区的锁的数量
dlks (decimal)

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 575 -
分区的死锁数
touts(decimal)
分区的远程死锁超时
isrd (decimal)
分区的读取数
iswrt (decimal)
分区的写入数
isrwt (decimal)
分区的重写或修改数
isdel (decimal)
分区的删除数
bfrd (decimal)
缓冲区的读取数,以页表示
bfwrt (decimal)
缓冲区的写入数,以页表示
seqsc (decimal)
分区的顺序扫描数
rhitratio (percentage)
磁盘读和缓冲区读的比率
onstat -g pqs 命令:打印所有 SQL 查询的运算符
可以使用 onstat –g pqs 命令显示当前正在运行的 SQL 查询中的使用的运算符的信息。
可以使用该命令对应用程序镜像故障排除、找到该查询所使用的运算符以及每个运算符返
回行数及长度。 EXPLAIN 文件包含的信息显示此查询计划的概览,onstat –g pqs 命令
显示该查询和查询计划的运行时的操作者。
语法:

可以指定以下之一的调用:
表 1. 每个 onstat -g pqs 命令调用的描述
调用
解释
onstat -g pqs
显示每个会话的一行摘要
onstat -g pqs sessionid 显示指定会话的信息

示例输出

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 576 -
以下示例显示了在不同会话中三个单独的 SQL 语句运行的结果。这些语句是:

图: onstat –g pqs 命令输出

输出描述
addr
运算符在内存中的地址。可以使用该地址跟踪属于每个 JOINT 运算符的 SCAN 运算符
ses-id
运行 SQL 语句的会话的 ID
opname
运算符名称
phase
已使用的运算符的阶段,例如 OPEN 、NEXT 、CLOSE
rows
该运算符执行的行数
time
执行该运算符的时间量。以毫秒显示。 01:20.10 是 1 分钟 20 秒 10 毫秒
in1
该连接中的第一个运算符(outer)
in2
该连接中的第二个运算符(inner)
stmt-type
SQL 语句的类型,例如 SELECT 、UPDATE 、DELETE
onstat -g prc 命令:打印使用 UDR 或 SPL 例程的会话
可以使用 onstat -g prc 命令显示当前使用 UDR 或 SPL 例程的会话数。
语法:

示例输出

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 577 -
图: onstat -g prc 命令输出

输出描述
Number of lists
UDR 高速缓存中的列表数
PC_POOLSIZE
一次可以高速缓存的条目数
list
UDR 高速缓存哈希链 ID (bucket number)
id
此例程的唯一 ID
ref
从高速缓存访问 UDR 或 SPL 例程的会话数
drop
该例程是否标记已删除
hits
访问该高速缓存条目的次数
heap_ptr
用于存储该条目的堆地址
udr_name
高速缓存中 UDR 或 SPL 例程的名称
Total number of udr entries

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 578 -
高速缓存中的条目数
Number of entries in use
正在使用的条目数
onstat -g proxy 命令:打印代理分发器信息
可以使用 onstat -g proxy 命令显示有关代理分发器的信息。
onstat -g proxy 命令的输出根据
该命令是否在主服务器或辅助服务器上运行而稍有不同。
语法:

调用
解释
onstat -g proxy
显示代理分发器信息
onstat -g proxy all
当在主服务器上运行时,
显示有关代理分发器和代理线
程的信息。
当在辅助服务器上运行时。
显示有关所有当
前执行更新到辅助服务器的会话的信息
onstat -g proxy proxy_id
proxy_transaction_id
sequence_number
该选项只在辅助服务器上可用。
显示当前由给出的代理
分发器产生的工作的详细信息。
proxy_transaction_id
和 sequence_number 是可选的参数。当提供时,第一
数字作为 proxy_transaction_id ,
第二个数字解释为
sequence_number。
如果提供的 proxy_transaction_id
或 sequence_number 不存在,那么该命令的输出与
onstat - 输出一样

在主服务器上使用 onstat -g proxy 命令的示例输出
图: onstat -g proxy 命令输出(自主服务器上运行)

输出描述
Secondary Node

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 579 -
被主服务器所知的辅助服务器名称
Proxy ID
代理分发器的 ID 。在高可用性集群中代理 ID 是唯一的
Reference Count
标示当前事务中正在使用该信息的线程数。当计数为 0 时,该事务处理完毕(无论成功或
不成功)
Transaction Count
当前代理分发器正在处理的事务数
Hot Row Total
代理分发器已处理的热行总数
在辅助服务器上使用 onstat -g proxy 命令的示例输出
图: onstat -g proxy 命令输出(自辅助服务器上运行)

输出描述
Primary Node
主服务器名
Proxy ID
代理分发器的 ID 。在高可用性集群中代理 ID 是唯一的
Reference Count
标示当前事务中正在使用该信息的线程数。当计数为 0 时,该事务处理完毕(无论成功或
不成功)
Transaction Count
当前代理分发器正在处理的事务数
Hot Row Total
代理分发器已处理的热行总数
在主服务器上使用 onstat -g proxy all 命令的示例输出
图: onstat -g proxy all 命令输出(自主服务器上运行)

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

输出描述
Secondary Node
被主服务器所知的辅助服务器名
Proxy ID
代理分发器的 ID 。在高可用性集群中代理 ID 是唯一的
Reference Count
标示当前事务中正在使用该信息的线程数。当计数为 0 时,该事务处理完毕(无论成功或
不成功)
Transaction Count
当前代理分发器正在处理的事务数
Hot Row Total
代理分发器已处理的热行总数
TID
正在主服务器上运行的代理线程的 ID 。该 ID 是代理分发器创建用于处理来自辅助服务
器会话的工作
Flags
代理线程的标志
Proxy ID
代表正在运行的代理线程(TID)的代理分发器 ID
Source SessID
辅助服务器上用户会话的 ID
Proxy TxnID
当前事务的编号。这些编号对于代理分发器是唯一的
Current Seq
当前事务中当前操作的顺序号
sqlerrno
任一 SQL 错误的错误号(或者 0 如果没有错误)

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 581 -
iserrno
任一 ISAM 或 RSAM 错误的错误号 (或者 0 如果没有错误)
在辅助服务器上使用 onstat -g proxy all 命令的示例输出
图: onstat -g proxy all 命令输出(自辅助服务器上运行)

输出描述
Primary Node
主服务器名
Proxy ID
代理分发器的 ID 。在高可用性集群中代理 ID 是唯一的
Reference Count
标示当前事务中正在使用该信息的线程数。当计数为 0 时,该事务处理完毕(无论成功或
不成功)
Transaction Count
当前代理分发器正在处理的事务数
Hot Row Total
由代理分发器处理的总行数。热行是辅助服务器上被一个或多个客户端修改过多次的行。
当行被多次修改时,如果最近来自不同会话的更新操作不在辅助服务器上重演,辅助服务
器会读取之前从主服务器在该行上放置一个更新锁的视图。
Session
会话 ID
Proxy ID
代表正在运行的代理线程(TID)的代理分发器 ID
Proxy TID
正在主服务器上运行的代理线程的 ID 。该 ID 是代理分发器创建用于处理来自辅助服务
器会话的工作
Proxy TxnID
当前事务的编号。这些编号对于代理分发器是唯一的
Current Seq
当前事务中当前操作的顺序号

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 582 -
Pending Ops
辅助服务器上还未发送到主服务器的已缓冲的操作数
Reference Count
标示当前事务中正在使用该信息的线程数。当计数为 0 时,该事务处理完毕(无论成功或
不成功)
在辅助服务器上使用 proxy_id 选项的示例输出
该命令只在辅助服务器上才返回信息。
图: onstat -g proxy proxy_id 命令输出(自辅助服务器上运行)

输出描述
Proxy TxnID
当前的事务的编号。这些编号对于代理分发器是唯一的
Reference Count
标示当前事务中正在使用该信息的线程数。当计数为 0 时,该事务处理完毕(无论成功或
不成功)
Pending Ops
辅助服务器上还未发送到主服务器的已缓冲的操作数
Proxy SID
代理会话 ID
在辅助服务器上使用 proxy_id proxy_transaction_id 选项的示例输出
该命令只在辅助服务器上才返回信息。
图: onstat -g proxy_id proxy_transaction_id 命令输出(自辅助服务器上运行)

输出描述
Sequence Number
操作数
Operation Type
已执行的操作的类型。可以是:插入、修改、删除和其它
rowid
应用该操作的行的行 ID
Table Name

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 583 -
表的全名,修改以适应合理的长度。格式为:database.owner.tablename
sqlerrno
任一 SQL 错误的错误号(或者 0 如果没有错误)
在辅助服务器上运行 proxy_id proxy_transaction_id sequence_number 选项的示例输出
该命令只在辅助服务器上才返回信息。
输出的字段与 onstat -g proxy_id proxy_transaction_id 命令输出的字段相同。不同的是,
onstat -g proxy_id proxy_transaction_id 命令显示该事务的详细信息,onstat -g proxy_id
proxy_transaction_id sequence_number 显示所有事务的详细信息。
图: onstat -g proxy_id proxy_transaction_id sequence_number 命令输出(自辅助服务器上运
行)

onstat -g qst 命令:打印互斥队列和条件队列的等待选项
可以使用 onstat -g qst 命令显示互斥队列和条件队列(互斥或条件的等待者的队列)的等
待统计信息。
QSTATS 配置参数必须设为 1 来启用统计信息的采集。有关更多信息,请参阅 QSTATS
配置参数
语法:

示例输出
图: onstat -g qst 命令输出

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

输出描述
name (string)
等待的互斥或条件资源的名称
nwaits (decimal)
等待此资源的次数
avg_time (decimal)
等待的平均时间(微秒)
max_time (decimal)
等待的最长时间(微秒)
avgq (decimal)
队列的平均长度
maxq (decimal)
队列的最长长度
nservs (decimal)
获取此资源的次数
avg_time (decimal, microsecond)
每次获取资源时挂起的平均时间(微秒)
onstat -g rah 命令:打印预读请求统计信息
可以使用 onstat -g rah 命令显示有关预读请求的信息。
语法:

示例输出
图: onstat -g rah 命令输出

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

输出描述
Qs
预读请求队列数
# threads
预读线程数
# Requests
预读请求数
# Continued
持续发生预读请求的次数
# Memory Failures
由于内存不满足而请求失败的次数
Last Thread Add
上一次添加预读线程的日期和时间
Way behind
由于预读的保护进程太落后而删除的页请求列
Partnum
分区号
Buffer reads
已读取的缓冲池数和磁盘页数
Disk Reads
从磁盘读取的页数
Hit Ratio
分区的缓存命中率
# Reqs
预读请求数。(该实例有五个输出字段:数据、索引、索引数据、日志页和上次提交的行)

Eff

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 586 -
预读请求的效率。它是预读操作请求的页数与不需要预读操作的已缓存页数的比率。值位
于 0 和 100 之间。数字越大表示该预读效率更高。该实例有五个输出字段:数据、索引、
索引数据、日志页和上次提交的行)
Resch
因为对多片行的更新不完整而要重新安排的最后提交的行的请求数
onstat -g rbm 命令:打印共享内存的 block 映射
可以使用 onstat -g rbm 命令显示共享内存常驻段中可用和已使用的 block 的十六进制位
图。
语法:

示例输出
图: onstat -g rbm 命令输出

输出描述
Header
address (hex)
在段内已用/空闲的 block 的内存中起始地址
size (bits)
block 位图中的位数;每个位代表一个 block
used (blocks)
位图中已用的 blocks
largest_free (blocks)
可用 block 的最大运行
Data
Bit number (decimal): data (hex)

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 587 -
位数,后面是 32 个字节的数据(十六进制)
onstat -g rea 命令:打印准备就绪的线程
可以使用 onstat -g rea 命令显示当前已就绪的虚拟处理器线程的信息。
语法:

示例输出
图: onstat -g rea 命令输出

onstat -g rss 命令:打印 RS 辅助服务器信息
可以使用 onstat -g rss 命令显示有关远程独立辅助服务器的信息。
语法:

onstat -g rss 命令的输出因命令在主服务器上还是 RS 辅助服务器上运行而稍有不同。
调用
解释
onstat -g rss
显示 RS 辅助服务器的简要信息
onstat -g rss verbose
显示 RS 辅助服务器的详细信息
onstat -g rss log
显示日志信息。该命令只能在主服务器上应用。
onstat -g rss server_name
显示指定的 RS 辅助服务器的信息。
该命令只能在主服
务器上应用。

示例输出(主服务器)
图: onstat -g rss verbose 命令输出,自主服务器上运行
Local server type: Primary
Index page logging status: Enabled
Index page logging was enabled at: 2009/08/31 09:35:22
Number of RSS servers: 1

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

RSS Server information:

RSS Server control block: 0x5fdd9740
RSS server name: serv3
RSS server status: Active
RSS connection status: Connected
RSS flow control:576/528
Log transmission status: Active
Next log page to send(log id,page): 53,117632
Last log page acked(log id,page): 53,115615
Last log page applied (log id, page); 53,115615
Time of Last Acknowledgment: 2009-08-31.14:14:09
Pending Log Pages to be ACKed: 1984
Approximate Log Page Backlog:97104
Sequence number of next buffer to send: 3676
Sequence number of last buffer acked: 3612
Supports Proxy Writes: Y
输出描述(主服务器)
Local server type
主或 RSS(远程独立辅助)服务器类型
Index page logging status
显示是否启用或禁用主服务器和辅助服务器之间的索引页日志记录
Index page logging was enabled at
启用索引页日志记录的日期和时间
Number of RSS servers
连接到主服务器的 RS 辅助服务器数
RSS Server control block
RS 辅助服务器控制 block
RSS Server name
RS 辅助服务器名称
RSS Server status
显示 RS 辅助服务器是否活动
RSS flow control

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 589 -
逻辑日志页中的数值,代表确定何时启用或禁用流控制
RSS Connection status
RS 辅助服务器的连接状态
Log transmission status
显示日志事务是否激活
Next log page to send (log id, page)
要发送的下一个日志页的日志 ID 和页编号
Last log page acked (log id, page)
应答的上一个日志的日志 ID 和页编号
Last log page applied (log id, page)
最后应用日志的日志 ID 和页编号
Time of Last Acknowledgment
最后一次应答日志的时间
Pending Log pages to be ACKed
已发生但还未应答的日志数
Approximate Log Page Backlog
已发送的日志数和最后逻辑日志数的不同
Sequence number of next buffer to send
要发送的下一个缓冲区的序号
Sequence number of last buffer acked
应答的上一个缓冲区的序号
Supports Proxy Writes
显示该服务器当前是否配置了允许更新辅助服务器。 Y = 支持更新辅助服务器,N = 不支
持更新辅助服务器
使用 log 选项的示例输出(主服务器)
图: onstat -g rss log 命令输出,自主服务器上运行
Log Pages Snooped:
RSS Srv From From Tossed
name Cache Disk (LBC full)

cdr_ol_nag_1_c1 1368 1331 0
cdr_ol_nag_1_c2 1357 1342 0
cdr_ol_nag_1_c3 1356 1343 0
使用 log 选项的输出描述(主服务器)
Log Pages Snooped

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 590 -
每台 RS 辅助服务器的统计信息
RSS Srv name
RS 辅助服务器名称
From Cache
来自高速缓存
From Disk
来自磁盘的日志
Tossed (LBC full)
由于 LBC 变满而抛弃的日志页数
示例输出(RS 辅助服务器)
图: onstat -g rss 命令输出,自 RS 辅助服务器上运行
Local server type: RSS
Server Status: Active
Source server name: cdr_ol_nag_1
Connection status: Connected
Last log page received(log id,page): 7,877
输出描述(RS 辅助服务器)
Local server type
主或 RSS(远程独立辅助)服务器类型
Server Status
显示 RS 辅助服务器是否活动
Source server name
主服务器名称
Connection status
RS 辅助服务器的连接状态
Last log page received (log id,page)
最近接收到的日志 ID 和页面
使用 verbose 选项的示例输出(RS 辅助服务器)
图: onstat -g rss verbose 命令输出,自 RS 辅助服务器上运行
RSS Server control block: 0x45a3fe58
Local server type: RSS
Server Status: Active
Source server name: my_server
Connection status: Connected
Last log page received(log id,page): 10,1364

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 591 -
Sequence number of last buffer received: 489
Sequence number of last buffer acked: 489
Delay Apply: Configured (3)
Stop Apply: Not configured.
Delay or Stop Apply control block: 0x45a40ba8
Pending pages: 7
Last page written: (10:1372).
Next page to read: (10:1366).
Delay or Stop Apply thread: Running.
使用 verbose 选项的输出描述(RS 辅助服务器)
RSS Server control block
服务器控制 block
Local server type
本地服务器的类型
Server Status
RS 辅助服务器的状态
Source server name
在 RS 辅助服务器的高可用性集群中的主服务器名称
Connection status
RS 辅助服务器和集群的主服务器之间的连接状态
Last log page received (log id,page)
RS 辅助服务器上一次应答的日志的日志 ID 和页编号
Sequence number of last buffer received
RS 辅助服务器接收的上一个缓冲区的序号
Sequence number of last buffer acked
RS 辅助服务器应答的上一个缓冲区的序号
Delay Apply
是否设置了延迟应用。延迟值,以秒表示,用括号括起
Stop Apply
是否设置了停止应用。停止值,用括号括起,它是 1 或 Unix 时间
Delay or Stop Apply control block
延迟或停止应用的控制 block
Pending pages
等待写入日志暂存目录的页数
Last page written

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 592 -
上一个写入日志暂存目录的日志的日志 ID 和页编号
Next page to read
下一个要写入日志暂存目录的日志的日志 ID 和页编号
Delay or Stop Apply thread
延迟应用或停止应用线程的状态
onstat -g rwm 命令:打印读取和写入互斥
可以使用 onstat -g rwm 命令显示读、
写和等待互斥线程的信息和这些线程获得的凭单的地
址列表。
语法:

示例输出
图: onstat -g rwm 命令输出

输出描述
tcb
线程地址列表
Writer
写线程列表
Readers
读线程列表
Waiters
正在等待的线程列表
ticket
线程获得的凭单的地址
onstat -g sch 命令:打印 VP 信息

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 593 -
可以使用 onstat -g sch 命令显示线程迁移和每个虚拟处理器的信号量操作、自旋和忙等待
的数量的信息。
语法:

示例输出
图: onstat -g sch 命令输出

onstat -g scn 命令;打印扫描选项
可以使用 onstat -g scn 命令显示当前扫描的状态和该扫描的信息。
如果您有一个长时间运行的扫描,那么可以使用该命令检查扫描的进程、在扫描结束前确
定扫描所需的时间并可以查看该扫描的信息。对于表来说,onstat -g scn 命令的输出标识该
扫描是轻度扫描还是缓冲池扫描。
语法:

示例输出
图: onstat -g scn 输出显示表信息

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

有关运行扫描时索引扫描可用的信息。
图: onstat -g scn 输出显示索引扫描信息

输出描述
descriptor (decimal)
轻度扫描 ID
address (hex)
轻度扫描描述符的内存地址
next_lpage (hex)
要扫描的下一个逻辑页地址
next_ppage (hex)
要扫描的下一个物理页地址
ppage_left (decimal)
当前 extent 中剩余的物理页数
bufcnt
此次轻度扫描使用的轻度扫描缓冲区数
look_aside
此次轻度扫描是否要观察周边(Y = yes, N = no)。当线程需要在缓冲池中检查现有页以获
得正在被轻度扫描的页的最新图像时,发生观察周边操作
SesID
会话 ID
Thread
线程 ID
Partnum
分区号
Rowid

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 595 -
当前行 ID
Rows Scan'd
已扫描的行数
Scan Type
对于表来说,是以下其中之一:
 Bufferpool
 Light(轻度扫描)
对于索引来说,是以下其中之一:
 key only
 没有值,如果扫描不是 key only 扫描
Lock Mode
获得的锁的类型或没有锁:
 Table(表级别锁定)
 Slock(共享锁)
 Ulock(更新锁)
 blank(没有锁)
该列也显示了以下之一的值:
 +Test (扫描测试带有特定锁类型的冲突;没有获得锁)
 +Keep (获取的锁将保持到会话结束而不是事务结束)
Notes®
该列显示了以下之一的值:
 Look aside
轻度扫描正在观察周边。
轻度扫描直接从磁盘读取页的 block 到大缓冲区,
而不是从缓冲区管理器获得每个页。
在一些情况下,该进程要求此次轻度扫描检查缓冲池中每个数据页的情况下,来自它
的一个大缓冲区的过程;这个过程称为 look aside。如果页在缓冲池中,那么此次轻度
扫描会使用副本而不是轻度扫描大缓冲区中的部分。如果页不在缓冲池中,那么此次
轻度扫描将会使用从磁盘读取到它的大缓冲区的副本。如果轻度扫描正在观察周边,
那么会此次扫描的性能会稍微降低。
在很多情况中,轻度扫描会检测到缓冲池不可能具有新版本的页。在这种情况下,此
次轻度扫描将不会检查缓冲池也不会观察周边。
 Forward row lookup
服务器正在对一个具有跨页的表执行轻度扫描。该轻度扫描必须访问和使用缓冲池来
得到任何主页上不完整的行的剩余的片段。
Start key

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 596 -
扫描的起始键
Stop key
扫描的结束键
Current key
该扫描中的当前键
Current position
扫描在索引中的当前位置。例如:页、slot 和偏移量
onstat -g sds 命令:打印 SD 辅助服务器信息
可以使用 onstat -g sds 命令显示有关共享磁盘辅助服务器的信息。
语法:

onstat -g sds 命令的输出因命令在主服务器上还是 SD 辅助服务器上运行而稍有不同。
调用
解释
onstat -g sds
显示 SD 辅助服务器的简要信息
onstat -g sds verbose
显示 SD 辅助服务器的详细信息
onstat -g sds server_name
显示指定的 SD 辅助服务器的信息。当指定
server_name 时,该命令必须从主服务器声明

示例输出(主服务器)
图: onstat -g sds 命令输出,自主服务器上运行

输出描述(主服务器)
Local server type
主或 SDS (共享磁盘辅助)服务器类型
Number of SDS servers
连接到主服务器的 SD 辅助服务器数
SDS Srv name

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 597 -
SD 辅助服务器的名称
SDS Srv status
显示 SD 辅助服务器是否活动
Connection status
显示 SD 辅助服务器是否连接
Last LPG sent (log id, page)
最近的 LPG 日志 ID 和页
Supports Proxy Writes
显示该服务器当前是否配置了允许更新辅助服务器。 Y = 支持更新辅助服务器,N = 不支
持更新辅助服务器
使用 verbose 选项的示例输出(主服务器)
图: onstat -g sds server_name 命令输出,自主服务器上运行

使用 verbose 选项的输出描述(主服务器)
Number of SDS servers
与主服务器共享磁盘空间的 SD 辅助服务器数
Updater node alias name
主服务器名
SDS server control block
SD 辅助服务器控制 block
server name

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 598 -
服务器名
server type
服务器的类型
server status
显示该服务器是否被激活
connection status
主服务器和辅助服务器之间连接的状态
Last log page sent (log id, page)
最近发送的日志页面的日志 ID 和页面
Last log page flushed (log id, page)
最近清空的日志页面的日志 ID 和页面
Last log page acked (log id, pos))
最近应答的日志页
Last LSN acked (log id, pos)
最近应答的日志序列号
Last log page applied(log id,page)
最近应用的日志的日志 ID 和页编号
Approximate Log Page Backlog
等待发送的日志数
Current SDS Cycle
由 GBase 支持内部使用来监视主服务器和 SDS 服务器之间的协调性
Acked SDS Cycle
由 GBase 支持内部使用来监视主服务器和 SDS 服务器之间的协调性
Sequence number of next buffer to send
要发送的下一个缓冲区的序号
Sequence number of last buffer acked
应答的下一个缓冲区的序号
Time of last ack
上一个日志确认的日期和时间
Supports Proxy Writes
显示该服务器当前是否配置了允许更新辅助服务器。 Y = 支持更新辅助服务器,N = 不支
持更新辅助服务器
Time of last received message:
当前服务器最近一次从另一个服务器接收消息的时间戳
Time of last alternate write

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 599 -
当前服务器最近一次写入由 SDS_ALTERNATE 配置参数指定的 blobspace 的时间戳
Time of last alternate read
当前服务器最近一次读取由 SDS_ALTERNATE 配置参数指定的 blobspace 的时间戳
使用 verbose 选项的示例输出 (SD 辅助服务器)
图: onstat -g sds verbose 命令输出,自 SD 辅助服务器上运行

使用 verbose 选项的输出描述 (SD 辅助服务器)
SDS server control block
SD 辅助服务器控制 block
Local server type
主或 SDS(共享磁盘辅助)服务器类型
Server status
显示 SD 辅助服务器是否活动
Source server name
主服务器名
Connection status
显示 SD 辅助服务器是否已连接
Last log page received (log id, page)
最近接收的日志页面
Next log page to read (log id,page)
要读取的下一个日志页的序号
Last LSN acked (log id,pos)
最近应答的 LSN
Sequence number of last buffer received
接收的上一个缓冲区的序号
Sequence number of last buffer acked

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 600 -
应答的上一个缓冲区的序号
Current paging file
当前 GBase_8s paging 文件的名称
Current paging file size
当前 GBase_8s paging 文件的大小
Old paging file
上一个 GBase_8s paging 文件的名称
Old paging file size
上一个 GBase_8s paging 文件的大小
onstat -g seg 命令:打印共享内存段的统计信息
可以使用 onstat -g seg 命令显示共享内存段的统计信息。
该命令显示附加了多少段以及它们的大小。您可以在转储文件(创建时不包含缓冲池)中
运行 onstat -g seg命令。
语法:

示例输出
图: onstat -g seg 命令输出

输出描述
id
共享内存分段 ID
key
与共享内存分段 ID 相关联的共享内存键
addr
共享内存分段地址
size
共享内存分段大小(字节)
ovhd
共享内存分段控制信息(开销)大小(字节)
class

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 601 -
共享内存的类型(B 代表共享内存池、V 代表虚拟、VX 代表虚拟扩展、M 代表消息)
blkused
已使用内存的 block 数
blkfree
空闲内存的 block 数
Virtual segment low memory reserve (bytes)
当需要必要活动且服务器限制了可用内存时,
供使用的保留内存的大小
(以字节表示)
(可
在 LOW_MEMORY_RESERVE 配置参数中指定保留内存)
Low memory reserve used 0 times and used maximum block size 0 bytes)
服务器使用保留内存的次数和最大的必需内存
onstat -g ses 命令:打印与会话有关的信息
可以使用 onstat -g ses 命令显示会话的信息。
缺省情况下,
只有 DBSA 可以查看 onstat -g ses 信息。
然而,
当 UNSECURE_ONSTAT 配
置参数设置为 1 时,所有的用户都可以查看该信息。
语法:

可以指定以下调用之一。
onstat -g ses
显示每个会话的单行摘要
onstat -g ses sessionid
显示特定会话的信息
所有会话的示例输出
图: onstat -g ses 命令输出
session #RSAM total used dynamic
id user tty pid hostname threads memory memory explain
24 gbasedbt - 0 - 0 12288 7936 off
23 gbasedbt - 17602 carson 1 57344 48968 off
3 gbasedbt - 0 - 0 12288 9168 off
2 gbasedbt - 0 - 0 12288 7936 off

特定会话的示例输出
图: onstat -g sessessionid 命令输出
session effective #RSAM total used dynamic
id user user tty pid hostname threads memory memory explain
53 gbasedbt - 36 18638 apollo11 1 73728 63048 off

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

Program :
/usr/gbasedbt/bin/dbaccess
tid name rstcb flags curstk status
77 sqlexec 4636ba20 Y--P--- 4240 cond wait sm_read -
Memory pools count 1
name class addr totalsize freesize #allocfrag #freefrag
53 V 4841d040 73728 10680 84 6

name free used name free used
overhead 0 3288 scb 0 144
opentable 0 2904 filetable 0 592
log 0 16536 temprec 0 2208
gentcb 0 1656 ostcb 0 2920
sqscb 0 21296 sql 0 72
hashfiletab 0 552 osenv 0 2848
sqtcb 0 7640 fragman 0 392

sqscb info
scb sqscb optofc pdqpriority optcompind directives
481b70a0 483e2028 0 0 0 1

Sess SQL Current Iso Lock SQL ISAM F.E.
Id Stmt type Database Lvl Mode ERR ERR Vers Explain
53 - sysmaster CR Not Wait 0 0 9.24 Off

Last parsed SQL statement :
Database 'sysmaster@lx1'

Xadatasources participated in this session :
Xadatasource name RMID Active
xabasicdb@atmol10:sitaramv.xads_t3_i1 6 YES
xabasicdb@atmol10:sitaramv.xads_t2_i1 4 YES
xabasicdb@atmol10:sitaramv.xads_t1_i3 3 YES
xabasicdb@atmol10:sitaramv.xads_t1_i2 2 YES
xabasicdb@atmol10:sitaramv.xads_t1_i1 1 YES
xabasicdb@atmol10:sitaramv.xads_t2_i2 5 NO

DRDA client info

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 603 -
Userid:
Wrkstnname: nemea
Applname: db2jcc_application
Acctng: JCC03510nemea
Programid:
Autocommit:
Packagepath:
输出描述:session 部分
Session id
会话 ID
user
启动该会话的用户名
tty
与此会话的前端关联的 tty
pid
与此会话的前端关联的进程 ID
hostname
此会话已连接的主机名
#RSAM threads
为此会话分配的 RSAM 线程的数量
total memory
为此会话分配的内存量
used memory
此会话实际使用的内存量
dynamic explain
生成会话的 SQL 语句的说明输出(on 或 off)
输出描述:program 部分
显示在您的会话中使用的客户端程序的完整路径。使用客户端程序信息来监视或停止访问
数据库。
输出描述:threads 部分
尽管该部分没有标题,但是以下输出显示有关线程的信息。
tid
线程 ID
name
线程的名称
rstcb

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 604 -
RSAM 控制 block
flags
使用以下代码描述线程的状态:
位置 1
B
正在等待缓冲区
C
正在等待 checkpoint
G
正在等待逻辑日志缓冲区写入
L
正在等待锁定
S
正在等待互斥
T
正在等待事务
X
正在等待事务清除
Y
正在等待条件
位置 2
*
此位置中的星号表示线程在事务中遇到 I/O 失败
位置 3
A
归档线程
B
开始工作
P
开始准备或已准备好工作
X
XA 已准备好
C
正在提交或已提交
R

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 605 -
正在异常终止或已异常终止
H
尝试异常终止或尝试回滚
位置 4
P
主线程
位置 5
R
正在读取
X
临界区
位置 6
R
恢复线程
位置 7
M
监视线程
D
守护线程
C
清除程序
F
清空程序
B
B-tree 扫描程序
curstk
当前堆栈大小
status
当前线程状态
输出描述: memory pools 头部分
每个会话池重复这些信息。
name
池名称
class
池所分配位置的内存类。R 代表常驻、V 代表虚拟、M 代表消息

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 606 -
addr
池结构的地址
totalsize
池获得的内存的总的大小,以字节表示
freesize
在池中的可用字节数量
#allocfrag
在池中已分配内存分片的数量
#freefrag
在池中的可用分片数量
输出描述:Memory pools 部分
name
已经从池中分配内存的组件的名称
free
释放的字节数量
used
分配的字节数量
输出描述:sqscb info 部分
scb
会话控制 block。这是共享内存中主会话结构的地址
sqscb
会话的 SQL 级别控制 block
optofc
OPTOFC 环境变量或 ONCONFIG 配置文件设置的当前值
pdqpriority
PDQPRIORITY 环境变量或 ONCONFIG 配置文件设置的当前值
optcompind
OPTCOMPIND 环境变量或 ONCONFIG 配置文件设置的当前值
directives
DIRECTIVES 环境变量或 ONCONFIG 配置文件设置的当前值
输出描述:SQL 部分
显示特定会话的 SQL 信息。
该部分具有和 onstat -g sql 命令相同的信息。
请参阅 onstat -g
sql 命令:打印与 SQL 有关的会话信息。
输出描述:Last parsed SQL statement 部分

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 607 -
Last parsed SQL statement 部分具有和 onstat -g sql 命令相同的信息。请参阅 onstat -g sql
命令:打印与 SQL 有关的会话信息。
输出描述:Xadatasources participated in this session 部分
Xadatasources participated in this session 部分显示有关在会话期间可用的 XA 数据源的信
息。它们的资源管理器标识,以及它们当前是否是活动的。
Xdatasource name
参与会话的 XA 数据源
RMID
对应的 XA 数据源的资源管理器的标识
Active
XA 数据源是否依然是活动的
输出描述:DRDA client info 部分
DRDA client info 显示连接客户端的分布式关系数据库体系结构(DRDA) 的信息。
Userid
客户端用户的用户 ID
Wrkstnname
客户端工作站名称
Applname
客户端应用程序名称,例如:db2jcc_application
Acctng
来自客户端的审计字符串,例如:JCC03510nemea
Programid
客户端程序标识( GBase 8s 没有使用)
Autocommit
GBase 8s 数据源缺省的事务自动提交方式
Packagepath
客户端包装路径( GBase 8s 没有使用)
onstat -g shard 命令:打印有关分片高速缓存的信息
可以使用 onstat -g shard 命令显示有关分片高速缓存的信息。
语法:

示例 1:使用基于散列分片的分片定义的输出
对于本示例,使用以下命令创建一个分片定义:

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

以下示例显示了当 onstat -g shard 命令在 g_shard_server_A 、g_shard_server_B 、
g_shard_server_C 或 g_shard_server_D 上运行的输出。
图: 使用哈希算法将数据分布到多个数据库服务器的分片定义的 onstat -g shard 命令的输
出。
GBase 8s Database Server Version 8.8 -- On-Line -- Up 00:00:20 -- 162316 Kbytes
collection_1 database_1:josh.customers_1 key:column_2 HASH:DELETE SHARD
OPTIMIZATION:ENABLED
Matching for delete:column_3
g_shard_server_A (65545) mod(ifx_checksum(column_2::LVARCHAR, 0), 4) = 0
g_shard_server_B (65546) mod(ifx_checksum(column_2::LVARCHAR, 0), 4) in (1, -1)
g_shard_server_C (65547) mod(ifx_checksum(column_2::LVARCHAR, 0), 4) in (2, -2)
g_shard_server_D (65548) mod(ifx_checksum(column_2::LVARCHAR, 0), 4) in (3, -3)
示例 1 的输出描述
Sharding definition name
分片定义的名称。在此示例中该值为 collection_1
Database name
包含分布在多个分片的集合或表的数据库的名称。在此示例中该值为 database_1
Table owner name
分布在多个分片的集合或表的所有者名称。在此示例中该值为 josh
Table name
分布在多个分片的集合或表的名称。在此示例中该值为 customers_1
Shard key
分片键用于分配行或文档。值可以是表的一个列、文档字段或一个表达式。在此示例中该
值为 column_2
Sharding strategy
确定新行或文档存储在哪个数据库服务器的方法。值可以是 HASH (哈希算法)或
EXPRESSION(表达式)。在此示例中该值为 HASH
Sharding type
在行或文档复制到目标服务器后指定源服务器的动作。值可以是 DELETE 、KEEP 或
INFORMATIONAL 。 在此示例中该值为 DELETE
Shard optimization

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 609 -
指定查询是否可以跳过不包含相关数据的分片服务器。值可以是 ENABLED 或 NOT
ENABLED 。在此示例中该值为 ENABLED
Version column
指定 Enterprise Replication 尝试验证源行或源文件没有被更新时使用的列或键。值可以是
一列或文档字段。 在此示例中该值为 column_3
Sharding rule
复制数据到指定的数据库服务器的规则。在上一示例中,g_shard_server_A (服务器编号
65545)基于该规则来发送数据:
mod(ifx_checksum(col2::LVARCHAR,0),4)=0
示例 2:使用基于分片表达式的分片定义的输出
对于本示例,使用以下命令创建一个分片定义:

以下示例显示了运行在 g_shard_server_F 、g_shard_server_G 、g_shard_server_H 或
g_shard_server_I 上的 onstat -g shard 命令的输出。
图: 使用一个表达式将数据分布到多个数据库服务器的分片定义的 onstat -g shard 命令的
输出。
GBase 8s Database Server Version 8.8.U -- On-Line -- Up 00:19:07 -- 162316 Kbytes
collection_2 database_2:john.customers_2 key:state EXPRESSION:KEEP SHARD
OPTIMIZATION:ENABLED
Matching for delete:version_column
g_shard_server_F (65564) state IN ('AL','MS','GA')
g_shard_server_G (65565) state IN ('TX','OK','NM')
g_shard_server_H (65566) state IN ('NY','NJ')
g_shard_server_I (65567) not ((state IN ('AL','MS','GA')) or (state IN('TX','OK','NM'))
or (state IN ('NY','NJ')))
示例 2 的输出描述
Sharding definition name
分片定义的名称。在此示例中该值为 collection_2
Database name
包含分布在多个分片的集合和表的数据库的名称。在此示例中该值为 database_2
Table owner name
分布在多个分片的集合或表的所有者名称。在此示例中该值为 john
Table name

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 610 -
分布在多个分片的集合或表的名称。在此示例中该值为 customers_2
Shard key
分片键用于分配行或文档。值可以是表的一个列、文档字段或一个表达式。在此示例中该
值为 state
Sharding strategy
确定新行或文档存储在哪个数据库服务器的方法。值可以是 HASH (哈希算法)或
EXPRESSION(表达式)。在此示例中该值为 EXPRESSION
Sharding type
在行或文档复制到目标服务器后指定源服务器的动作。值可以是 DELETE 、KEEP 或
INFORMATIONAL 。 在此示例中该值为 KEEP
Shard optimization
指定查询是否可以跳过不包含相关数据的分片服务器。值可以是 ENABLED 或 NOT
ENABLED 。在此示例中该值为 ENABLED
Version column
指定 Enterprise Replication 尝试验证源行或源文件没有被更新时使用的列或键。值可以是
一列或文档字段。 在此示例中该值为 version_column
Sharding rule
复制数据到指定的分片的规则。在本示例中 g_shard_server_F(服务器编号为 65564 )基
于该规则接收数据:
state in ('AL','MS','GA')
g_shard_server_I(服务器编号为 65567) 基于该规则接收数据:
not ((state in ('AL','MS','GA'))
or (state in ('TX','OK','NM'))
or (state in ('NY','NJ')))
示例 3:使用 BSON 分片键和基于分片表达式的分片定义的输出
对于本示例,使用以下命令创建一个分片定义:

以下示例显示运行在 shard_server_J 、shard_server_K 、shard_server_L 或 shard_server_M
上的 onstat -g shard 命令的输出。
图: 使用 BSON 分片键和表达式将数据分布到多个数据库服务器的分片定义的 onstat -g
shard 的命令的输出。
GBase 8s Database Server Version 8.8 -- On-Line -- Up 01:34:01 -- 354721 Kbytes

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 611 -
collection_3 database_3:susan.customers_3 key:bson_value_lvarchar(data,'age')
EXPRESSION:DELETE SHARD OPTIMIZATION:ENABLED
Matching for delete:version
g_shard_server_J (65568) bson_value_lvarchar(data,'age') BETWEEN 0 and 20"
g_shard_server_K (65569) bson_value_lvarchar(data,'age') BETWEEN 21 and 62"
g_shard_server_L (65570) bson_value_lvarchar(data,'age')BETWEEN 63 and 100"
g_shard_server_M (65571) not((bson_value_lvarchar(data,'age') BETWEEN 0 and 20)
or (bson_value_lvarchar(data,'age') BETWEEN 21 and 62) or (bson_value_lvarchar
(data,'age') BETWEEN 63 and 100))
示例 3 的输出描述
Sharding definition name
分片定义的名称。在此示例中的该值为 collection_3
Database name
包含分布在多个分片的集合或表的数据库的名称。在此示例中该值为 database_3
Table owner name
分布在多个分片的集合或表的所有者名称。在此示例中该值为 susan
Table name
分布在多个分片的集合或表的名称。在此示例中该值为 customers_3
Shard key
分片键用于分配行或文档。值可以是表的一个列、文档字段或一个表达式。在此示例中该
值为查询 BSON age 键作为该分片键的表达式 bson_value_lvarchar(data,'age')
Sharding strategy
确定新行或文档存储在哪个数据库服务器的方法。值可以是 HASH (哈希算法)或
EXPRESSION(表达式)。在此示例中该值为 EXPRESSION
Sharding type
在行或文档复制到目标服务器后指定源服务器的动作。值可以是 DELETE 、KEEP 或
INFORMATIONAL 。 在此示例中该值为 DELETE
Shard optimization
指定查询是否可以跳过不包含相关数据的分片服务器。值可以是 ENABLED 或 NOT
ENABLED 。在此示例中该值为 ENABLED
Version column
指定 Enterprise Replication 尝试验证源行或源文件没有被更新时使用的列或键。值可以是
一列或文档字段。 在此示例中该值为 version
Sharding rule
复制数据到指定的分片的规则。在本示例中 g_shard_server_J(服务器编号为 65568)基于
该规则接收数据:

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 612 -
bson_value_lvarchar(data,'age') BETWEEN 0 and 20
g_shard_server_M(服务器编号为 65571) 基于该规则接收数据:
not((bson_value_lvarchar(data,'age') BETWEEN 0 and 20)
or (bson_value_lvarchar(data,'age') BETWEEN 21 and 62)
or (bson_value_lvarchar(data,'age') BETWEEN 63 and 100))

onstat -g sle 命令:打印所有休眠的线程
可以使用 onstat -g sle 命令打印所有休眠的线程。
语法:

示例输出
图: onstat -g sle 命令输出

onstat -g smb 命令:打印 sbspace 信息
可以使用 onstat -g smb 命令显示有关 sbspace 的详细信息。
语法:

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

命令
解释
onstat -g smb c
列出 sbspace 中的所有的 chunk
onstat -g smb e
列出所有智能大对象表类型的条目
onstat -g smb e cad
列出智能大对象 chunk 头表条目
onstat -g smb e fdd
列出智能大对象文件描述符条目
onstat -g smb e lod
列出智能大对象头表中的条目
onstat -g smb fdd
列出智能大对象文件描述符
onstat -g smb h
列出所有智能大对象表类型头
onstat -g smb h cad
列出智能大对象 chunk 头表头
onstat -g smb h fdd
列出智能大对象文件描述符表头
onstat -g smb h lod
列出智能大对象文头表的表头
onstat -g smb lod
列出在智能大对象头表中的头和条目
onstat -g smb s
列出 sbspace 属性(所有者、名称、页大小、-Df 标
识设置)Sbspace 创建过程中不初始化值为 0 或 -1
的字段

onstat -g smb c 命令的示例输出
使用 onstat -g smb c 命令监视每个 sbspace chunk 中的可用空间量,以及用户数据、元数
据和保留区域以页面为单位的大小。onstat -g smb c 命令显示每个 sbspace chunk 的以下信
息:
 Chunk 编号和 sbspace 名称
 Chunk 大小和路径名
 总用户数据页和可用的用户数据页
 在每个用户数据和元数据区域中的页面的位置和数据

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 614 -
在以下示例中,sbspace 的 chunk 2 具有 2253 个源可用页(orig fr) 2253 个用户页(usr
pgs)和 2245 个可用页(free pg)。对于第一个用户数据区域 (Ud1),起始页面偏移量
为 53 ,页面数量为 1126。对于元数据区域(Md),起始页的偏移量为1179 ,页面数量
为 194。
对于第二个用户数据区域
(Ud2)

起始页的偏移量为 1373 ,
页面数量为 1127 。


onstat -g smb s 命令的输出
onstat -g smb s 命令显示系统中的所有 sbspace 的存储属性:
 sbspace 名称、标志、所有者
 日志记录状态
 平均智能大对象大小
 第一个 extent 大小、下一个 extent 大小和最小 extent 大小
 最大 I/O 访问时间
 锁定方式
有关 onstat -g smb 命令的更多信息,请参阅 GBase 8s 性能指南 。
onstat -g smx 命令:打印多路复用器组信息
可以使用 onstat -g smx 命令显示有关使用 SMX 服务器的多路复用器组信息。
语法:

命令
解释
onstat -g smx
显示 SMX 连接的统计信息
onstat -g smx ses
显示 SMX 会话的统计信息

示例输出
图: onstat -g smx 命令输出
SMX connection statistics:
SMX control block: 0x47d5e028
Peer server name: lx1

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 615 -
SMX connection address: 0x47d60d10
Encryption status: Disabled
Total bytes sent: 27055
Total bytes received: 2006989
Total buffers sent: 782
Total buffers received: 7090
Total write calls: 782
Total read calls: 7090
Total retries for write call: 0
Data compression level: 1
Data sent: compressed 40760 bytes by 33%
Data received: compressed 12579324 bytes by 84%

输出描述
SMX control block
SMX 控制 block
Peer server name
显示同级服务器的名称
SMX connection address
显示 SMX 连接地址的信息
Encryption status
显示是否已启用或禁用加密
Total bytes sent
显示已发送的字节总数
Total bytes received
显示已接收的字节总数
Total buffers sent
显示已发送的缓冲区总数
Total buffers received
显示已接收的缓冲区总数
Total write calls
显示写入调用的总数
Total read calls
显示读取调用的总数
Total retries for write call
显示写入调用的重试总数
Data compression level

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 616 -
显示由 SMX_COMPRESS 配置参数设置的 SMX 压缩级别
Data sent: compressed x bytes by y%
显示已发送的数据的已解压的字节数和压缩率
Data received: compressed x bytes by y%
显示已接收的数据的已解压的字节数和压缩率
示例输出
图: onstat -g smx ses 输出
SMX session statistics:
SMX control block: 0x17c69028
Peer SMX session client reads writes
name address type
delhi_sec 19022050 smx Clone Send 6 183

输出描述
SMX control block
SMX 控制 block
Peer name
显示同级别的服务器名称
SMX session address
SMX 会话地址
Client type
显示辅助服务器的类型
reads
显示会话读取的总数
writes
显示会话写入的总数
onstat -g spi 命令:打印使用长自旋的自旋锁
可以使用 onstat -g spi 命令显示有关使用长自旋的自旋锁的信息。
语法:

服务器中的许多资源由两个或更多的线程访问。在一些访问(诸如更新共享值)中,服务
器必须确保每次只有一个线程在访问该资源。spin lock 是用来为一些资源提供互斥存取的
机制。有了这类锁,在第一次尝试时由于另一个线程占用锁而没有成功获取锁的线程重复
尝试获取锁,直至成功为止。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 617 -
自旋锁的成本很低,而且自旋锁通常用于在短期内获取互斥的资源。然而,如果自旋锁被
高度使用,那么循环重试机可能会变得更贵。
onstat -g spi 命令对于帮助识别由于高度使用自旋锁而形成的性能瓶颈很有帮助。该选项列
出了带有等待的自旋锁,在线程第一次尝试时没有成功为其获取锁而循环重试的自旋锁。
示例输出
图: onstat -g spi 命令输出

输出描述
Num Waits (decimal)
为该自旋锁等待的线程总数
Num Loops (decimal)
在线程成功获取自旋锁前的尝试总数
Avg Loop/Wait (floating point)
用来获取自旋锁的尝试的平均数。以 Num Loops / Num Waits 计算
Name (string)
使用以下代码命名自旋锁:
lockfr
锁可用列表。lockfr 后的数字是锁可用列表数组中的索引。
lockhash[]
锁哈希桶。方括号内的字段是该锁哈希桶存储数组的索引
:bhash []
缓冲区哈希桶。冒号之前的字段是缓冲池的索引;方括号内在 bhash 之后的字段是该
缓冲区哈希桶数组的索引
:lru-
LRU latch 。
冒号之前的字段是缓冲池的索引;
lru- 之后的字段标识缓冲区链对正在被
使用
:bf[]
缓冲区 latch 。
冒号之前的字段是缓冲池的索引;
方括号内 bf 后的字段是该缓冲区数
组的位置。接下来的两个字段分别是以十六进制表示的缓冲区内存的分区号和页头地

onstat -g sql 命令:打印与 SQL 有关的会话信息

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 618 -
可以使用 onstat -g sql 命令显示有关会话的 SQL 相关信息。
缺省情况下,只有 DBSA 可以查看 onstat -g sql syssqltrace 信息。然而当
UNSECURE_ONSTAT 配置参数设置为 1 时,所有的用户都可以查看该信息。
语法:

可以指定以下调用之一。
调用
解释
onstat -g sql
显示每个会话的单行摘要
onstat -g sqlsessionid
显示特定会话的 SQL 信息
注: 不显示加密函数中的加密密码和密码提示参数。下图显示了在 Last parsed SQL
statement 字段显示加密密码。
图: onstat -g sql 命令输出

输出描述
Sess id
会话标识
SQL Stmt type
SQL 语句类型
Current Database
会话的当前数据库的名称
ISO Lvl
隔离级别
DR
Dirty 读取
CR
已提交读取
CS
游标锁定

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 619 -
DRU
Dirty 读取,保留更新锁
CRU
已提交读取,保留更新锁
CSU
游标锁定,保留更新锁
LC
已提交读取,最后提交
LCU
已提交读取,最后提交,保留更新锁
RR
可重复的读取
NL
没有事务的数据库
Lock mode
当前会话的锁定方式
SQL Error
当前语句遇到的 SQL 错误号
ISAM Error
当前语句遇到的 ISAM 错误号
F.E. Version
当前客户端程序使用的 SQLI 协议的版本
Explain
SET EXPLAIN 设置
Current Role
当前用户的角色
onstat -g spf 命令:打印已就绪语句的概要文件
可以使用 onstat -g spf 命令显示有关 SQL 查询的当前统计信息。
可以使用该统计信息确定每条语句的成本。
语法:

如果启用了 SQL 跟踪,该信息显示的是由此语句完成的工作的快照并且它可能随着语句
继续运行而改变。例如:要监视一条活动的语句中缓冲区读或写的增长率,可以在 2 秒的
间隔中发起三个 onstat -g spf 运行。
如果禁用了 SQL 跟踪,那么 "Statistics disabled" 会声明一个警告消息:

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 620 -
示例输出
图: onstat -g spf 命令输出

输出描述
sid
会话 ID
sdb
该语句指针的后 8 位数字
tottm
以秒表示所有语句当前运行的总时间
execs
已运行完成的语句的当前数量。该值不包含正在运行的语句。
runtm
以秒表示该语句当前的运行时间
pdq
当前并发数据库查询(PDQ)优先级别。 PDQ 优先值可以是 0 到 100 之间的任意整数。
有关更多信息,请参阅 Managing PDQ queries
scans
当前已分配的 PDQ 扫描的数量
sorts
当前已完成排序的数量
bfrd
当前的缓冲区读取数
pgrd
当前的页读取数
bfwrt
当前的缓冲区写入数
pgwrt
当前的页写入数
lkrqs
当前的锁请求数
lkwts
当前的锁等待数

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 621 -
onstat -g src 命令:共享内存中的模式
可以使用 onstat -g src 命令搜索共享内存中的模式。
语法:

示例输出
以下示例显示了 onstat -g srcpattern mask 命令的输出,这里 pattern = 0x123 而 mask =
0xffff 。
图: onstat -g src 命令输出
Search Summary:
addr contents
000000000ad17a50: 01090000 00000000 00000000 00000123 ........ .......#
000000000ad7dec0: 00000001 014e3a0c 00000000 0ade0123 .....N:. .......#

输出描述
addr (hexadecimal)
找到搜索模式的共享内存地址
contents (hexadecimal)
给出地址上的内存内容
onstat -g ssc 命令:打印出现的 SQL 语句
可以使用 onstat -g ssc 命令监视数据库服务器读取高速缓存中的 SQL 语句的次数。
缺省情况下,只有 DBSA 可以查看 onstat -g ssc syssqltrace 信息。然而当
UNSECURE_ONSTAT 配置参数设置为 1 时,所有的用户都可以查看该信息。
语法;

all 选项报告 key-only 高速缓存的条目和完全高速缓存的语句 。如果 hits 列中的值比
STMT_CACHE_HITS 值小,该条目是 key-only 高速缓存条目。有关更多信息,请参阅
GBase 8s 性能指南 中的内存利用率。
pool 选项报告该 SQL 语句高速缓存的所有内存池的用法。该输出显示内存池的名称、类
型、
地址和总大小的信息。
有关更多信息,
请参阅 GBase 8s 性能指南 中的提高查询性能。

示例输出
图: onstat -g ssc 命令输出
Statement Cache Summary:
#lrus currsize maxsize Poolsize #hits nolimit

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 622 -
4 117640 524288 139264 0 1
Statement Cache Entries:
lru hash ref_cnt hits flag heap_ptr database user
----------------------------------------------------------------
0 262 0 7 -F aad8038 sscsi007 admin
INSERT
INTO
ssc1
(
t1_char
,
t1_short
,
t1_key
,
t1_float
,
t1_smallfloat
, t1_decimal , t1_serial ) VALUES ( ? , ? , ? , ? , ? , ? , ? )
0 127 0 9 -F b321438 sscsi007 admin
INSERT INTO ssc2 ( t2_char , t2_key , t2_short ) VALUES ( ? , ? , ? )
1 134 0 15 -F aae0c38 sscsi007 admin
SELECT t1_char , t1_short , t1_key , t1_float , t1_smallfloat ,
t1_decimal , t1_serial FROM ssc1 WHERE t1_key = ?
1 143 0 3 -F b322c38 sscsi007 admin
INSERT
INTO
ssc1
(
t1_char
,
t1_key
,
t1_short
)
SELECT
t2_char
,
t2_key
+ ? , t2_short FROM ssc2
2 93 0 7 -F aae9838 sscsi007 admin
DELETE FROM ssc1 WHERE t1_key = ?
2 276 0 7 -F aaefc38 sscsi007 admin
SELECT count ( * ) FROM ssc1
2 240 1 7 -F b332838 sscsi007 admin
SELECT COUNT ( * ) FROM ssc1 WHERE t1_char = ? AND t1_key = ? AND
t1_short = ?
3 31 0 7 -F aaec038 sscsi007 admin
SELECT count ( * ) FROM ssc1 WHERE t1_key = ?
3 45 0 1 -F b31e438 sscsi007 admin
DELETE FROM ssc1
3 116 0 0 -F b362038 sscsi007 admin
SELECT COUNT ( * ) FROM ssc1
Total number of entries: 10.
输出描述 - Statement Cache Summary 部分
#lrus
最近最少使用的队列(LRUS)的次数
currsize
当前高速缓存的大小
maxsize
总高速缓存内存量限制
Poolsize
总的池大小
#hits
在插入前的命中的数量。这个数量等于 STMT_CACHE_HITS 配置参数的值r
nolimit
STMT_CACHE_NOLIMIT 配置参数的值

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 623 -
输出描述 - Statement Cache Entries 部分
Statement Cache Entries 部分显示已全部插入高速缓存的条目。
lru
高速缓存条目所属的 lru 队列的索引
hash
高速缓存条目的哈希值
ref_count
引用语句的线程的数量
hits
语句与高速缓存中的语句匹配的次数。匹配可用于 key-only 或完全高速缓存的条目
flag
高速缓存条目标志;-F 说明语句是完全高速缓存的;-D 说明语句已删除
heap_ptr
高速缓存条目的内存堆的地址
onstat -g stk 命令:打印线程堆栈
可以使用 onstat -g stk tid 命令显示由线程 ID 指定的线程堆栈。
所有的平台都不支持该选项,并且该选项并非一直精确。
语法:

示例输出
图: onstat -g stk tid 命令输出

onstat -g stm 命令:打印 SQL 语句的内存使用
可以使用 onstat -g stm 命令显示每个准备好的 SQL 语句所使用的内存。
缺省情况下,只有 DBSA 可以查看 onstat -g stm syssqltrace 信息。然而,当
UNSECURE_ONSTAT 配置参数设置为 1 时,所有的用户都可以查看此信息。

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

要只显示一个会话的内存,请在 onstat -g stm 命令中指定会话 ID。
示例输出
图: onstat -g stm 命令输出

输出描述
sdblock
语句描述符 block 的地址
heapsz
语句内存堆的大小
statement
查询文本
onstat -g stq 命令:打印队列信息
可以使用 onstat -g stq 命令显示有关队列的信息。
语法:

要查看特定的会话信息,
请指定 session 选项。
要查看所有的会话信息,
请不要指定 session
选项。
示例输出
图: onstat -g stq 命令输出

输出描述
session
会话 ID
cnt
流队列缓冲区的数量
waiters
正在等待流队列缓冲区的线程数量
onstat -g sts 命令:打印每个线程的堆栈用途

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 625 -
可以使用 onstat -g sts 命令显示有关每个线程的最大和当前堆栈使用的信息。
语法:

示例输出
图: onstat -g sts 命令输出
Stack usage:

TID Total Max Current Thread Name
bytes % bytes %
2 32768 3124 9 3079 9 adminthd
3 32768 2870 8 2871 8 childthd
5 32768 14871 45 2871 8 Cosvr Avail Mgr
6 32768 2870 8 2871 8 dfm_svc
7 131072 3190 2 3191 2 xmf_svc
9 32768 3126 9 3127 9 xtm_svcc
10 32768 3580 10 3335 10 xtm_svcp
11 32768 3238 9 3239 9 cfgmgr_svc
12 32768 6484 19 2871 8 lio vp 0
14 32768 6484 19 2871 8 pio vp 0
16 32768 6484 19 2871 8 aio vp 0
18 131072 10391 7 2871 2 msc vp 0
20 32768 4964 15 2871 8 fifo vp 0
22 32768 4964 15 2871 8 fifo vp 1
24 32768 6028 18 2871 8 aio vp 1
26 32768 5444 16 2951 9 dfmxpl_svc
27 32768 2886 8 2887 8 sch_svc
28 32768 7812 23 5015 15 rqm_svc
29 32768 7140 21 3079 9 sm_poll
30 32768 11828 36 6439 19 sm_listen
31 32768 2870 8 2871 8 sm_discon
32 32768 14487 44 4055 12 main_loop()
33 32768 4272 13 2903 8 flush_sub(0)
34 32768 2902 8 2903 8 flush_sub(1)
35 32768 2870 8 2871 8 btscanner 0
36 32768 3238 9 3239 9 aslogflush
37 32768 3055 9 2887 8 bum_local
38 32768 3238 9 3239 9 bum_rcv
39 32768 4902 14 4903 14 onmode_mon

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 626 -
42 32768 4964 15 2871 8 lio vp 1
44 32768 5136 15 2871 8 pio vp 1
onstat -g sym 命令:打印 oninit 实用程序的符号表信息
可以使用 onstat -g sym 命令显示 oninit 实用程序符号表的信息。
语法:

示例输出
图: onstat -g sym 命令输出
以下示例显示了该输出的前几行:

输出描述
onstat -g sym 命令显示 oninit 实用程序中符号的相对内存地址和名称(函数和变量)。
onstat -g tpf 命令:打印线程概要文件
可以使用 onstat -g tpf 命令显示线程概要文件。
语法:

要打印指定线程的概要文件,
请指定 tid 线程 ID 。
将 tid 设置为 0 来显示所有线程的概
要文件。
示例输出
图: onstat -g tpf 命令输出
onstat -g tpf 945
Thread profiles
tid lkreqs lkw dl to lgrs isrd iswr isrw isdl isct isrb lx bfr bfw lsus lsmx seq

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 627 -
945 1969 0 0 0 6181 1782 2069 13 0 0 0 0 16183 7348 743580 0 6
输出描述
tid
线程 ID
lkreqs
锁请求数
lkw
锁等待数
dl
死锁数
to
远程死锁超时
lgrs
日志记录
isrd
读取数
iswr
写入数
isrw
重新写入数
isdl
删除数
isct
提交数
isrb
回滚数
lx
长事务
bfr
缓冲区读取数
bfw
缓冲区写入数
lsus
当前使用的日志空间
lsmx
使用的最大日志空间

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 628 -
seq
顺序扫描数
onstat -g ufr 命令:打印内存池片分片
可以使用 onstat -g ufr 命令显示当前在特定的内存池中使用的分片列表。
该命令需要一个附加的参数来指定池名或要显示池的会话 ID 。每个会话都会分配一个与
其会话 ID 名称相同的内存池。
使用 onstat -g mem 命令标识池名,
使用 onstat -g ses 命令
标识会话 ID 。
语法:

内存池分为很多分片用于不同的用途。使用 onstat -g ufr 命令时,有可能会看到这些分片
的列表,显示其各自大小(以字节为单位)和所包含的信息类型。提供的信息大多由
Technical Support 使用以写出其分析报告的问题。
指定池名的示例输出
图: onstat -g ufr global 指定池名的命令输出

指定会话 ID 的示例输出
以下示例显示会话 ID 6 的输出。
图: onstat -g ufr 指定会话 ID 的命令输出
Memory usage for pool name 6:
size memid
3256 overhead
144 scb
2968 ostcb
18896 sqscb
3312 opentable
72 sql
808 filetable
352 fragman

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 629 -
552 hashfiletab
1584 gentcb
12096 log
2960 sqtcb
2928 osenv
720 keys
224 rdahead
16248 temprec

输出描述
size (decimal)
池分片大小(以字节为单位)
memid (string)
池分片的名称
onstat -g vpcache 命令:打印 CPU 虚拟处理器专用内存高速缓存的统计信息
可以使用 onstat -g vpcache 命令显示有关 CPU 虚拟处理器专用内存高速缓存的统计信
息。
语法:

示例输出
每个 CPU 虚拟处理器的输出都有相同的格式。以下示例显示了一个 CPU 虚拟处理器的
输出。
图: onstat -g vpcache 命令输出

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

输出描述
vpid
CPU 虚拟处理器的 ID
pid
操作系统分配的 CPU 虚拟处理器的进程 ID
Blocks held
4096 字节 block 数是专用内存高速缓存中可用的数量
Hit percentage
发生请求时 block 可用的时间百分比
Free cache
Block 被释放以供重复使用而不被排出的时间百分比
Current VP total allocations from cache
从高速缓存获取一个 block 或一组 block 的次数
Total frees
一个 block 或一组 block 被添加至高速缓存的次数
size

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 631 -
内存 block 的大小,以 4096 字节 block 为单位
cur blks
当前已分配的 4096 字节 block 的数量(是 size 的倍数)
tgt blks
高速缓存被排出之前该高速缓存条目 block 的目标数
alloc
请求者接收到该大小 block 的次数
miss
请求内存 block 时没有可用 block 的次数
free
内存 block 放入高速缓存中的次数
drain
将到期的 block 强制调出,为其他 block 让出空间的次数
draintime
上一次内存 block bin 被排出的时间
onstat -g wai 命令:打印等待队列线程队列
可以使用 onstat -g wai 命令显示当前在等待队列中并没有得到执行的系统上的线程列表。
输出按线程 ID 排序。
语法:

示例输出
图: onstat -g wai 命令输出

输出描述
tid (decimal)
线程 ID

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 632 -
tcb (hex)
线程控制 block 的内存地址
rstcb (hex)
RSAM 线程控制 block 的内存地址
prty (decimal)
线程优先级。较大的数字代表较高的优先级
status (string)
线程的当前状态
vp- (decimal and string)
上次运行线程的 VP 的虚拟处理器整数 ID 与运行线程的 VP 类的名称连接
name (string)
线程名称
onstat -g wmx 命令:使用等待者打印所有互斥
可以使用 onstat -g wmx 命令显示所有有等待对象的互斥。
语法:

示例输出
图: onstat -g wmx 命令输出

输出描述
mid
内部互斥标识
addr
已锁定的互斥的地址
name
互斥名
holder
持有该互斥的线程的线程 ID
0 = 在共享方式下持有读/写互斥
lkcnt
对于读/写互斥,是当前在共享方式下正在锁定的线程数量。对于重新锁定互斥,是持有该
互斥的线程锁定或重新锁定该互斥的次数
waiter

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 633 -
正在等待该互斥的线程的 ID 列表
waittime
以秒表示线程正在等待的时间量
onstat -g wst 命令:打印线程的等待统计信息
可以使用 onstat -g wst 命令显示系统中线程的等待统计信息。
WSTATS 配置参数必须设置为 1 来启用等待信息收集。有关更多信息,请参阅 WSTATS 配
置参数 。
语法:

示例输出
Version 8.8 -- On-Line -- Up 18:52:59 -- 78856 Kbytes
name tid state n avg(us) max(us)
msc vp 0 5 ready 6 9 17
msc vp 0 5 run 6 1107 2215
msc vp 0 5 IO Idle 5 2985.9s 1496.1s

main_loo 7 IO Wait 55 6496 16725
main_loo 7 yield time 44929 1.2s 343.1s
main_loo 7 ready 44998 206085 343.1s
main_loo 7 run 44985 5 436

...

sqlexec 63 IO Wait 2 1118 2165
sqlexec 63 other cond 6 34237 204142
sqlexec 63 ready 9 7 16
sqlexec 63 run 7 1.1s 7.7s
输出描述
name (string)
线程名称
tid (decimal)
线程 ID
state (string)
说明在此输出行内等待的线程。如果单个线程在多个不同的状态中等待,那么它可能有多
行输出。 state 字段能包含的值有:
chkpt cond: 线程等待 checkpoint 条件

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 634 -
cp mutex: 线程等待 checkpoint 互斥可用
deadlock mutex: 线程等待死锁互斥可用
empty Q: 线程等待队列中的空缓冲区
fork: 线程等待子线程运行
full Q: 线程等待队列上的一个完整的缓冲区
IO Idle: I/O 线程空闲
IO Wait: 线程产生,同时等待 I/O 完成
join wait: 线程等待另一个线程退出
lock mutex: 线程等待锁定互斥可用
lockfree mutex: 线程等待锁释放互斥可用
logflush: 发生逻辑日志清空
log mutex: 线程等待逻辑日志互斥可用
logcopy cond: 线程等待逻辑日志复制互斥可用
logio cond: 线程等待逻辑日志条件
lrus mutex: 线程等待缓冲区 LRU 互斥可用
misc: 现场等待杂项理由
other cond: 线程等待内部条件
other mutex: 线程等待内部系统互斥可用
other yield: 线程等待内部原因
OS read: 线程等待操作系统读请求完成
OS write: 线程等待操作系统写请求完成
ready: 线程已准备好运行
run: 线程已运行
sort io: 线程等待排序 I/O 完成
vp mem sync: 线程等待虚拟处理器同步
yield bufwait: 线程产生,同时等待缓冲区可用
yield 0: 线程产生,但立即超时
yield time: 线程产生超时
yield forever: 线程产生并保持这种方式,直到它被唤醒
n (decimal)
在此状态下等待的线程次数
avg(us) (floating point)
每次等待发生的时候,
线程在此状态下等待的平均用户时间。
时间的单位为微秒,
值后的 s
表示以秒为单位计算用户时间。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 635 -
max(us) (floating point)
等待发生的时候,线程在此状态下等待的最大用户时间。时间的单位为微秒,值后的 s 表
示以秒为单位计算用户时间。

STATEMENT_USER_COMPLEX_HISTORY 系统表显示数据库主节点执行作业结束后
的负载管理记录。此数据是从内核中转储到系统表中的数据。具体的字段请参考表
GS_SESSION_MEMORY_DETAIL。