返回首页

gbase数据、南大通用产品文档:GBase8aregexp_like

更新日期:2024年09月11日

语法
REGEXP_LIKE(source_char, pattern [, match_parameter])
功能
模糊匹配指定的字符串。
返回值
源字符串与pattern 指定的正则表达式匹配时,函数返回1,否则返回0。
参数
表5- 16 参数说明
参数
说明
source_char
源字符串。该参数支持的数据类型与GBase 8a MPP Cluster 的
replace 函数的str 参数一致。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
741
参数
说明
pattern
正则表达式。仅支持字符串,每个正则表达式最多可包含512
个字节。
match_parameter
可通过设置该参数改变默认的匹配功能行为。可以是列名,列
的内容不能超出该参数的值域范围。使用时该参数用单引号包
围,例如:’i’。默认和设置成NULL 情况下“.”不匹配换行符,
源字符串被看作一行。参数可选项如下:

i:大小写不敏感;

c:大小写敏感;

n:点号(.)匹配换行符号;

m:多行模式;

x:扩展模式,忽略正则表达式中的空白字符。
用户同时指定多个互斥参数(i,c)可选项时,系统按照最后出
现的参数处理。
使用约束
regexp_like 函数的match_parameter 参数可以省略,其他参数不能省略。

onstat -g 命令使用的选项只提供用于支持和调试目的。
每个 onstat -g 命令只能包含这些选
项中的一个。
onstat -g imc 命令打印有关连接到数据库服务器的 GBase 8s MaxConnect 实例的信息。如
果GBase 8s MaxConnect 未连接数据库服务器,那么该命令显示 No MaxConnect 服务器已
连接。
onstat -g nta 命令打印来自 -g ntd 、-g ntm 、-g ntt 和 -g ntu 命令的合并的网络统计信息。
如果安装了 GBase 8s MaxConnect ,那么该命令打印您可以用来调整 GBase 8s
MaxConnect 性能的统计信息。
onstat -g act 命令:打印活动线程
使用 onstat -g act 命令显示有关活动线程的信息。
语法:

以下是 onstat -g act 命令输出的样本。有关输出的描述,请参阅 onstat -g ath 命令:打印
所有线程的信息。
示例输出

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

onstat -g afr 命令: 打印分配的内存分片
使用 onstat -g afr 命令显示有关指定会话或共享内存池的已分配内存分片。向每个会话分
配一个共享池。
语法:

该命令需要一个额外的参数来指定池名称、会话 ID 或池地址。每个会话都分配了于会话
ID 名称相同的内存池。
pool_name 是共享内存池的名称。可运行 onstat -g mem 命令标识池的名称。
sessionid 是会话 ID 。可运行 onstat -g ses 命令标识会话 ID。
pool_address 是共享内存池的地址。
可运行 onstat -g mem 命令或 onstat -g ses 命令标识池
的地址。
示例输出
图: onstat -g afr 命令输出

输出描述
addr (hexadecimal)
池分片的内存地址
size (decimal)
以字节表示的池分片的大小
memid (string)
池分片的内存 ID
fileid (decimal)
仅限内部使用。代码文件标识分配

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 484 -
location (string)
仅限内部使用。分配代码中的行号
onstat -g all 命令:打印诊断信息
使用 onstat -g all 命令收集由 GBase Support 建议的诊断信息。为了能够正常管理,应该
只使用带有个别选项的 onstat -g 命令。
语法:

onstat -g aqt 命令:打印数据集和加速查询表的信息
使用 onstat -g aqt 命令来显示有关数据集和向管理的加速查询表(AQT)的信息。
语法:

示例输出
图: onstat -g aqt 命令输出
AQT Dictionary Cache for database school:

mart: school
accelerator: DWAFINAL
last load: 2011/07/29 07:00:39

AQT name FactTab #tab #matched address

--------------------------------------------------------------------------------
aqt4d11b552-7d41-4b0c-824b-7714b6cb580a 103 1 328 0x4d187e08
aqt61498fab-3617-4c8c-ab40-fd8af4253998 103 2 42 0x4d84a448
aqtbc2da77c-bca8-4ce7-9191-8180a860da34 103 2 768 0x4d187f60
aqt88757e9d-81ee-43b4-87b2-0bf48c98fa55 103 3 15 0x4d84a190
aqta786d0dc-8e95-4de0-a1bd-773aa03a52db 103 3 1475 0x4d84a650
aqt8dd61c80-2c1c-4f0e-8f0c-91babe789f41 103 4 632 0x4d84a908

mart: school2
accelerator: DWAFINAL
last load: 2011/07/29 07:01:04

AQT name FactTab #tab #matched address

--------------------------------------------------------------------------------
aqt56d5aea7-32f4-44e6-8d98-02a7af37630f 103 1 845 0x4d84ac70
aqt03ec4c20-7ba8-4c3a-ae56-4134b005269d 103 2 27 0x4d95c298
aqt4ae7c2fd-5b94-423d-bc49-9ca3f5f38799 103 2 3912 0x4d84adc8
aqt5ed69a75-15e3-45cc-9892-4f5386257895 103 3 83 0x4d95c4a0
aqtdf314aa6-177d-4443-9f6d-f14ba766995a 103 3 37 0x4d95c028
aqt7e36b1f2-4646-4075-ac0b-5fdee475cd7e 103 4 518 0x4d95c758


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 485 -
mart: school3
accelerator: DWAFINAL
last load: 2011/07/29 07:01:50

AQT name FactTab #tab #matched address

--------------------------------------------------------------------------------
aqt92b36a8a-1567-4146-833c-385cd103f5d4 103 1 678 0x4d95cac0
aqt3189bec1-b6c9-417d-b969-92c687ef2e44 103 2 59 0x4d95cc18
aqt8d3b3dc8-59b6-4e34-822b-75b06b99c900 103 2 4487 0x4d90c0d8
aqt5f9c2a05-9131-4738-a929-036fcf77f65c 103 3 71 0x4d90c2e0
aqtee08ed16-6a5c-4478-ac57-fc4f99539c74 103 3 795 0x4d95ce20
aqt04d1c96a-022b-4ed7-938d-caf765bc9926 103 4 367 0x4d90c598

18 entries
如果对可选 aqt_name 参数使用 AQT 名称,那么该命令打印指定的 AQT 的信息。
图: onstat -g aqt aqt_name 命令输出
AQT: aqt6de1afdd-f10a-45b0-93e9-0c208405fefd
database: iwadb
AQT tabid: 125
Fact table: 111
Number of times matched: 8947

Join structure: alias(tabid)[colno,...] = alias(tabid)[colno,...] {u:unique}
0(111)[1] = 1(110)[1] u
1(110)[2] = 2(109)[1] u
2(109)[5] = 3(101)[1] u
3(101)[3] = 4(100)[1] u
0(111)[2] = 5(106)[1] u
5(106)[2] = 6(103)[1] u
5(106)[3] = 7(104)[1] u
5(106)[4] = 8(105)[1] u
8(105)[3] = 9(101)[1] u
9(101)[3] = 10(100)[1] u
5(106)[5] = 11(102)[1] u
0(111)[2,3] = 15(108)[1,2] u
15(108)[1] = 16(106)[1] u
16(106)[2] = 17(103)[1] u
16(106)[3] = 18(104)[1] u
16(106)[4] = 19(105)[1] u
19(105)[3] = 20(101)[1] u
20(101)[3] = 21(100)[1] u

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 486 -
16(106)[5] = 22(102)[1] u
15(108)[2] = 23(107)[1] u
23(107)[2] = 24(101)[1] u
24(101)[3] = 25(100)[1] u
0(111)[3] = 12(107)[1] u
12(107)[2] = 13(101)[1] u
13(101)[3] = 14(100)[1] u
输出描述
AQTs 按照其所属数据集分组。这些组先按照加速程序名称排序,再按数据集名称排序。
在数据集组中,
AQTs 按以下顺序排序:
Fact table tabid (FactTab)、
表的数量 (#tab) 和 AQT
名称。
来自字典高速缓存的输出参考了 AQTs 的数据集。输出仅在 AQTs 加载到字典高速缓存
中时显示,这种情况通常在对 AQTs 查询匹配时发生。
在数据库尝试对 AQTs 进行匹配查询之前,
AQTs 在字典高速缓存中没有任何条目。
onstat
-g aqt 命令不会在输出中显示任何条目。当在数据库服务器启动时初始化字典高速缓存时,
#matched 和 address 列得到新的值。
onstat -g aqt 命令打印以下信息:
mart
数据集的名称
accelerator
加速程序实例名称
last load
上一次数据集加载的时间戳
AQT name
系统生成的唯一的 AQT 名称
FactTab
AQT 实际数据表的 tabid
#tab
属于 AQT 表的数量
#matched
AQT 已发生的查询匹配计数
address
AQT 的内部数据库服务器内存地址
onstat -g aqt aqt_name 命令打印以下信息:
AQT

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 487 -
系统生成的唯一的 AQT 名称
database
AQT 所属数据库的名称
AQT tabid
构成数据库服务器中的 systables 系统目录表中的 AQT 条目的 tabid
Fact table
AQT 真实表的 tabid
Number of times matched
AQT 已发生的查询匹配计数
有关 AQT 信息之后是数据集的星型模式的文本表示。
该文本表示显示了表的列是如何互相
星型联接的。
onstat -g arc 命令:打印归档状态
使用 onstat -g arc 命令显示每个 dbspace 最后提交归档的信息,也显示正在执行归档
的信息。
语法:

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

输出描述 - 正在执行归档
本节的输出代表正在归档的当前的信息。如果系统中没有归档活动,那么不会显示本节的
信息。

描述
Number
Dbspace 编号
Name
Dbspace 名称
Q Size
前映象队列大小。该信息主要为了 GBase 支持

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

描述
Q Len
前映象队列长度。该信息主要为了 GBase 支持
Buffer
前映象缓冲区使用的页数
Partnum
前映象 bin 分区号
Size
前映象 bin 的页数
Current-page 正在执行归档的当前页

注: 前映象 bin 是在临时 dbspace 或 root dbspace 中创建的表(如果您没有临时
dbspace)。如果前映象 bin 变小,它可以扩展到其他分区,这样将会看到输出显示同一个
dbspace 具有多个 Partnum 和 Size 字段。
输出描述 - 归档状态
本节输出包含每个 dbspace 发生最后一次备份的信息。

描述
Name
Dbspace 名
Number
Dbspace 编号
Level
归档级别
Date
最后一次归档的日期和时间
Log
用来启动归档的 checkpoint 的唯一 ID (UNIQID)
Log-position 用来启动归档的 checkpoint 的日志位置(LOGPOS)

onstat -g ath 命令:打印所有线程的信息
使用 onstat -g ath 命令显示有关所有线程的信息。
语法:

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

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

输出描述
tid
线程 ID
tcb
线程控制 block 访问地址
rstcb
RSAM 线程控制 block 访问地址
prty
线程优先级
status
线程状态
vp-class
虚拟处理器类
name
线程名称。对于参与并行存储优化操作的线程,它表示操作的名称和线程编号
 compress.number = 线程正在压缩数据
 repack.number = 线程正在重新打包数据
 uncompress.number = 线程正在解压数据
 update_ipa.number = 线程正在移除就地修改操作
onstat -g bth 和 -g BTH:打印阻塞的和正在等待的线程
使用 onstat -g bth 命令显示阻塞和正在等待线程之间的依赖关系。
使用 onstat -g BTH 命令
显示阻塞线程的会话和堆信息。
语法:

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

onstat -g bth 的示例输出
图: onstat -g bth 命令输出
This command attempts to identify any blocking threads.

Highest level blocker(s)
tid name session
48 sqlexec 26

Threads waiting on resources
tid name blocking resource blocker
49 sqlexec MGM 48
13 readahead_0 Condition (ReadAhead) -
50 sqlexec Lock (0x4411e578) 49
51 sqlexec Lock (0x4411e578) 49
52 sqlexec Lock (0x4411e578) 49
53 sqlexec Lock (0x4411e578) 49
57 bf_priosweep() Condition (bp_cond) -
58 scan_1.0 Condition (await_MC1) -
59 scan_1.0 Condition (await_MC1) -

Run 'onstat -g BTH' for more info on blockers.
onstat -g bth 的输出描述
tid
线程 ID
name
线程名称
session
会话 ID
blocking resource
列出的等待线程的资源类型
blocker
列出的阻塞线程的线程 ID
onstat -g BTH 的示例输出
Stack for thread: 48 sqlexec
base: 0x00000000461a3000
len: 69632
pc: 0x00000000017b32c3
tos: 0x00000000461b2e30
state: ready
vp: 1


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 491 -
0x00000000017b32c3 (oninit) yield_processor_svp
0x00000000017bca6c (oninit) mt_wait
0x00000000019d4e5c (oninit) net_buf_get
0x00000000019585bf (oninit) recvsocket
0x00000000019d1759 (oninit) tlRecv
0x00000000019ce62d (oninit) slSQIrecv
0x00000000019c43ed (oninit) pfRecv
0x00000000019b2580 (oninit) asfRecv
0x000000000193db2a (oninit) ASF_Call
0x0000000000c855dd (oninit) asf_recv
0x0000000000c8573c (oninit) _iread
0x0000000000c835cc (oninit) _igetint
0x0000000000c72a9e (oninit) sqmain
0x000000000194bb38 (oninit) listen_verify
0x000000000194ab8a (oninit) spawn_thread
0x0000000001817de3 (oninit) th_init_initgls
0x00000000017d3135 (oninit) startup
This command attempts to identify any blocking threads.

Highest level blocker(s)
tid name session
48 sqlexec 26

session effective #RSAM total used dynamic
id user user tty pid hostname threads memory memory explain
26 gbasedbt - 45 31041 mors 2 212992 186568 off

Program : /work3/JC/VIEWS/jc_dct_phase2.view/.s/00055/80003fd351f804d3dbaccess

tid name rstcb flags curstk status
48 sqlexec 448bc5e8 ---P--- 4560 ready-
58 scan_1.0 448bb478 Y------ 896 cond wait await_MC1 -

Memory pools count 2
name class addr totalsize freesize #allocfrag #freefrag
26 V 45fcc040 208896 25616 189 16
26*O0 V 462ad040 4096 808 1 1

name free used name free used
overhead 0 6576 mtmisc 0 72
resident 0 72 scb 0 240
opentable 0 7608 filetable 0 1376
log 0 33072 temprec 0 17744
blob 0 856 keys 0 176
ralloc 0 55344 gentcb 0 2240
ostcb 0 2992 sqscb 0 21280
sql 0 11880 xchg_desc 0 1528
xchg_port 0 1144 xchg_packet 0 440
xchg_group 0 104 xchg_priv 0 336
hashfiletab 0 1144 osenv 0 2520
sqtcb 0 15872 fragman 0 1024

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 492 -
shmblklist 0 416 sqlj 0 72
rsam_seqscan 0 368

sqscb info
scb sqscb optofc pdqpriority optcompind directives
4499c1c0 461c1028 0 100 2 1

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

Current statement name : unlcur

Current SQL statement (5) :
select * from systables,syscolumns,sysfragments

Last parsed SQL statement :
select * from systables,syscolumns,sysfragments
onstat -g BTH 的输出描述
tid
线程 ID
name
线程名称
session
会话 ID
该会话信息段包含的信息与 onstat -g ses 命令输出的信息相同。请参阅 onstat -g ses 命令:
打印与会话有关的信息。
剩下的信息显示了该线程的堆信息。
onstat -g buf 命令:打印缓冲池的概要文件信息
使用 onstat -g buf 命令来显示每个缓冲池的概要文件信息。
语法:

示例输出
onstat -g buf 命令的输出取决于 BUFFERPOOL 配置参数设置是否包含 memory 字段和
buffers 字段而稍有不同。输出将显示 memory 设置。buffers 设置的输出包含 max extends
和 next buffers 字段,代替了 max memory 和 next memory 字段。
图: 对于 memory 设置的 onstat -g buf 输出
Profile

Buffer pool page size: 2048
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 493 -
1190 1773 661359 99.82 16863 83049 185805 90.92
bufwrits_sinceckpt bufwaits ovbuff flushes
11243 115 0 42
Fg Writes LRU Writes Avg. LRU Time Chunk Writes Total Mem
0 0 nan 10883 32Mb

cache
# extends max memory next memory hit ratio last
0 128Mb 32Mb 90 11:31:17

Bufferpool Segments
id segment size # buffs
0 0x449f0000 32Mb 13025

----------------------------------

Buffer pool page size: 8192
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
0 0 11 100.00 4 16 4 0.00
bufwrits_sinceckpt bufwaits ovbuff flushes
0 0 0 1

Fg Writes LRU Writes Avg. LRU Time Chunk Writes Total Mem
0 0 nan 4 128Mb

cache
# extends max memory next memory hit ratio last
0 1280Mb 128Mb 90 11:31:41
Bufferpool Segments
id segment size # buffs
0 0x4928e000 128Mb 14988
----------------------------------
Fast Cache Stats
gets hits %hits puts
246854 244407 99.01 111147
输出描述
Buffer pool page size
缓冲池中页面的字节数
dskreads
将页面带入缓冲池的已执行你的磁盘读操作数。每次读操作读取一个或多个页面。
pagreads
从磁盘读入缓冲池的页面数
bufreads
从该缓冲池读取的页面内存映象次数
%cached

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 494 -
为满足高速缓存页面映象的该缓冲池读取的页面百分比(而不是执行磁盘读取)。计算为
(bufreads - dskreads) / bufreads x 100。更高的百分比说明有更好的高速缓存性能。
dskwrits
将更改的页面从缓冲池写回磁盘所执行的磁盘写入操作数。每次写入操作撰写一个或多个
页面。
pagwrits
从缓冲池写入磁盘的页面数
bufwrits
写入该缓冲池的页面内存映象次数
%cached
为满足高速缓存页面映象的该缓冲池写入的页面百分比(而不是执行磁盘写入)。计算为
(bufwrits - dskwrits) / bufwrits x 100 。
bufwrits_sinceckpt
自上个 checkpiont 后页面内存映象写入该缓冲池的次数
bufwaits
在该缓冲池内线程必须等待缓冲区内锁的次数。数字越大说明在相同页面上互不兼容的锁
的多个线程之间的争用越多。
ovbuff
为了创建空闲的缓冲区来读取另外一个受请求的页面而将更改了的缓冲区从该缓冲池写入
磁盘的次数。如果 ovbuff 值很大,那么可能说明缓冲池还不够大,还不能容纳使用该缓冲
池的应用程序所需的工作集,这可能导致性能降级。
flushes
服务器为缓冲池内所有 dirty 缓冲区执行的大清空的次数。这可能由不同的原因引起,可
能是作为 checkpoint 过程的一部分而执行此操作或缓冲池在清洁的缓冲区外运行(无论
LRU 清除活动是否正常)。
Fg Writes
该缓冲池中访问缓冲区的非 I/O 清空程序线程写入磁盘的已更改缓冲区的数量。这个数字
是 ovbuff 字段的超集。除了 ovbuff 字段计数的写入服务页面缺省值的次数,该值也包括
为了保持数据库记录和保留页的一致性而执行的操作所做的前台写,其目的是为了保证正
确的恢复。
LRU Writes
由 LRU 清除线程从该缓冲池将更改了的缓冲区写入磁盘的数量。如果缓冲池超过了指定
在 lru_max_dirty 字段中 BUFFERPOOL 配置参数值或如果由于缓冲池溢出而发生前台
写,那么将激活 LRU 清除程序。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 495 -
Avg. LRU Time
LRU 清除程序用来清除单个 LRU 链所用的平均时间
Chunk Writes
由 Chunk 清除操作将已更改的缓冲区写入磁盘的数量。Chunk 清除程序撰写了所有在缓
冲池中的某个 chunk 内的已更改的缓冲区。这项操作在需要快速清除大量缓冲区(例如
checkpoint 进程和快速恢复)的各种特殊环境中进行。
Total Mem
缓冲池的大小
# extends
缓冲池被扩展的次数
max memory (memory setting)
缓冲池的目标最大大小。该缓冲池的大小可以超过该值,但是不能多于一个分段的大小。
max extends (buffers setting)
缓冲池库被扩展的至多次数。(该字段没有在示例样本中显示)
next memory (memory setting)
缓冲池的下一次要扩展的大小
next buffers (buffers setting)
为该缓冲池下一次扩展所需的缓冲区数 (该字段没有在示例样本中显示)
cache hit ratio
低于该缓冲池被扩展的读缓存的命中率
last
上次缓冲池扩展的时间
id
缓冲池段的 ID
segment
缓冲池段的内部地址
size
缓冲池段的大小
# buffs
缓冲池段中缓冲区数
Fast Cache Stats
快速缓存(减少需要访问缓冲池的时间类型的缓存)的统计信息
gets
服务器在快速缓存中寻找缓冲区的次数

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 496 -
hits
服务器发现它正在寻找快速缓存缓冲区的次数
%hits
hits 的百分比 ,即 hits*100/gets
puts
服务器向快速缓存中插入缓冲区的次数
onstat -g cac 命令:打印有关缓存的信息
使用 onstat -g cac 命令来查看所有缓存或单个缓存的整体和详细信息。
语法:

可以使用不带任何选项的 onstat -g cac 命令查看所有缓存的信息。
使用以下选项来查看特定缓存的信息:
agg
打印有关聚合缓存的信息
aqt
打印有关 AQT 字典高速缓存的信息(它与 onstat -g aqt 命令输出一样的信息)。请参阅
onstat -g aqt 命令:打印数据集和加速查询表的信息
am

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 497 -
打印有关访问方法缓存的信息。可以看到指定访问方法的信息,包括访问方法名称。
cast
打印有关 cast 缓存的信息
dic
打印有关数据字典高速缓存的信息。
也是打印 onstat -g dic 命令输出的信息。
请参阅 onstat
-g dic 命令:打印表信息
dsc
打印有关数据分布式缓存的信息。
也是打印 onstat -g dsc 命令输出的信息。
请参阅 onstat -g
dsc 命令:打印分布式高速缓存信息
ed
打印有关外部命令缓存的信息
lbacplcy
打印有关 LBAC 安全政策信息缓存的信息
lbacusrc
打印有关 LBAC 证书内存缓存的信息
opci
打印有关操作类实例缓存的信息
prc
打印有关 UDR 缓存的信息。
也是打印 onstat -g prc 命令输出的信息。
请参阅 onstat -g prc
命令:打印使用 UDR 或 SPL 例程的会话
prn
打印有关程序名称缓存的信息
rr
打印瞬变的二级缓存的信息
ssc
打印 SQL 语句缓存信息。
也是打印 onstat -g ssc 命令输出的信息。
请参阅 onstat -g ssc 命
令:打印出现的 SQL 语句
ttype
打印二级瞬变缓存的信息
typei
打印由其 ID 缓存的扩展类信息。可以看到指定扩展类的信息,包括扩展类 ID。
typen
打印由其名称缓存的扩展类信息。可以看到指定扩展类的信息,包括扩展类名称。
示例输出
大多数 onstat -g cac 命令的输出包含相似的格式和信息。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 498 -
以下是一个 onstat -g cac lbacplcy 命令的示例输出:
Security Policy Info Cache:
Number of lists : 31
PLCY_POOLSIZE : 127
Security Policy Info Cache Entries:

list id ref drop hits heap_ptr item
--------------------------------------------------------------
9 2 0 0 0 65f1b8d0 test@gbasesbt: : secpolicyid 2
15 1 0 0 0 65f1b4d0 test@gbasedbt: : secpolicyid 1
Total number of entries : 2
Number of entries in use : 0

输出描述
大多数 onstat -g cac 命令的输出包含以下字段:
Number of lists
分布式缓存中列表数
configuration parameter name
一次可以缓存的条目数
list
分布式缓存哈希链 ID
id
该缓存条目的唯一 ID
ref
引用缓存条目的语句数
drop
当此条目被添加到缓存中后,它是否曾被删除
hits
该缓存条目被访问的次数
heap_ptr
用于存储此条目的堆地址
item name
高速缓存项的名称
Total number of entries
缓存条目的数量
Number of entries in use
正在使用的条目数

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 499 -
onstat -g ckp 命令:打印 checkpoint 历史记录和配置建议
可以使用 onstat -g ckp 命令打印 checkpoint 历史记录,显示配置建议(如果检测到次优的
配置)。
语法:

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





输出描述
Auto Checkpoints
标示 AUTO_CKPTS 配置参数是 on 或 off
RTO_SERVER_RESTART
显示 RTO 时间(以秒为单位)。零(0)意味着 RTO 是关闭的
Estimated recovery time ## seconds
如果数据服务器停止响应,标示评估恢复时间。该值仅在 RTO_SERVER_RESTART 被激
活时出现。
Interval
Checkpoint 间隔 ID
Clock Time
Checkpoint 发生的 Clock 时间

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 500 -
Trigger
事件触发 checkpoint 。 星号(*)表示请求的 checkpoint 是事务阻塞的 checkpoint 。
触发器名

描述
Admin
管理员相关任务。例如:
 创建、删除或重命名 dbspace
 添加或删除 chunk
 添加或删除日志文件
 更改物理日志大小和位置
 分区上 "shrink" 操作之后
 打开或关闭镜像
Backup
备份相关操作。例如:
 假备份
 启动归档
 完整的物理恢复后
CDR
第一次启动 ER 子系统或在所有复制参与者被移除后,重启 ER 子系统
CKPTINTVL 当 checkpoint 间隔过期。Checkpoint 间隔是在 onconfig 文件中
CKPTINTVL 参数指定的值
Conv/Rev
转换复原 checkpoint 。转换检查阶段后磁盘结构实际实际转换前。复原完
成之后也将触发 checkpoint 。
HA
高可用性。例如:
 新添加到高可用集群的 RSS 或 SDS 节点
 提升为主服务器的辅助服务器
 物理日志文件低的辅助服务器
HDR
高可用性数据复制。例如:
 更改的服务器方式
 安装 HDR 后的启动第一次传输
 有潜在的主或辅助服务器上的物理日志溢出
Lightscan 在分区上关闭观察四周之前
Llog
逻辑日志资源耗尽

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 501 -
触发器名

描述
LongTX
长事务。如果发现长事务未停止,那么会发起 checkpoint 停止该事务。在
回滚过程中,如果在长事务终止后 checkpoint 还未准备发生,那么会在回
滚阶段发起 checkpoint 。
Misc
杂项事件。例如::
 由于 I/O 错误 dbspace 或 chunk 关闭
 在回滚过程中,撤销 chunk 的附加部分时。例如:正在移动 chunk
时。
 聚集索引创建的过程中或变更索引为聚集索引时。
Plog
物理日志具有以下之一的条件:
 物理日志已满 75%
 已使用的物理日志量加上脏分区的数量已超出物理日志大小的 90%
Restore Pt 还原点。Checkpoint 在还原点开始和结束。还原点(由转换守护程序使用)
是启用的 CONVERSION_GUARD 配置参数,是 RESTORE_POINT_DIR 配置参数指
定的临时目录。
Recovery
在恢复过程中,快速恢复开始时
Reorg
在联机索引生成开始
RTO
维护恢复时间目标(RTO)协议。在正常操作时,在系统崩溃后重新启动的时
间可能会超过 RTO_SERVER_RESTART 配置参数所设置的值。
Stamp Wrap Checkpoint 时间戳。如果新的 checkpoint 时间戳出现在最后写入的
checkpoint 之前,那么时间戳在 checkpoint 间间隔先进先出。这样会触发
另一个 checkpoint 。
Startup
数据库服务器启动时。
Uncompress 在表或分区上发生解压命令。只在表中的 checkpoint 或 没有日志记录的数
据库中应用。
User
用户提交 checkpoint 请求

LSN

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 502 -
Checkpoint 记录在逻辑日志中的位置
Total Time
以秒表示 checkpoint 持续的总时间,从请求开始到 checkpoint 结束
Flush Time
以秒表示清除缓冲池的时间
Block Time
由于 checkpoint 被稀缺的必需资源触发而导致事务阻塞的时间(以秒表示)。例如:耗尽
物理日志或环绕逻辑日志
# Waits
由于正在等待 checkpoint 而阻塞的事务的数量
Ckpt Time
以秒表示所有事务认识到请求的 checkpoint 的时间
Wait Time
以秒表示该事务已等待 checkpoint 的平均时间
Long Time
以秒表示事务等待 checkpoint 的最长时间
# Dirty Buffers
在 checkpoint 期间,刷新到磁盘的 dirty 缓冲区的数量
Dskflu/sec
每秒刷新的缓冲区数
Physical Log Total Pages
在 checkpoint 间隔,物理日志记录的总页数
Physical Log Avg/Sec
在 checkpoint 间隔,物理日志活动的平均率
Logical Log Total Pages
在 checkpoint 间隔,逻辑日志记录的总页数
Logical Log Avg/Sec
在 checkpoint 间隔,逻辑日志活动的平均率
Max Plog pages/sec
在 checkpoint 间隔,物理日志活动的最大速率
Max Llog pages/sec
在 checkpoint 间隔,逻辑日志活动的最大速率
Max Dskflush Time
以秒表示缓冲池刷新到磁盘的最长时间
Avg Dskflush pages/sec

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 503 -
缓冲池刷新到磁盘的平均速率
Avg Dirty pages/sec
在 checkpoint 之间 dirty 页的平均速率
Blocked Time
以秒表示自上次数据库服务器启动后最长阻塞时间
性能建议消息
如果 GBase 8s 数据服务器检测到一个次优的配置,那么在 checkpoint 历史记录下会出现
一个有关性能调整的建议消息。该性能建议也在消息日志中出现。以下是性能建议消息的
示例:

onstat -g cfg 命令:打印配置参数的当前值
使用 onstat -g cfg 命令打印配置参数当前值列表。可以使用更多命令选项以打印更多有关
配置参数的信息。
语法:

onstat -g cfg 命令具有以下格式:
onstat -g cfg 命令选项:
命令
描述
onstat -g cfg
显示配置参数当前值列表
onstat -g cfg
config_parameter_name
只显示指定的配置参数的当前值

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 504 -
命令
描述
onstat -g cfg full
显示每个配置参数的所有信息,
包括当前值、
缺省值、

onconfig 文件值和参数描述
onstat -g cfg full
config_parameter_name
显示指定参数的所有信息
onstat -g cfg diff
显示配置参数当前值不同于其在 onconfig 文件中
的永久值的信息
onstat -g cfg tunable
显示所有可调整参数的缺省值、源值和当前值。星号
(*)表示您可以动态调整该配置参数
onstat -g cfg msg
显示任意消息,例如:与配置参数相关的警告或调整

示例输出
以下是 onstat -g cfg 命令显示数据库启动后 DEADLOCK_TIMEOUT 配置参数值被动态
更改为 90 的输出样本:
id name type units rsvd tunable
26 DEADLOCK_TIMEOUT INT4 Seconds *

min/max : 0,2147483647
default : 60
onconfig:
current : 90

Description:
Use the DEADLOCK_TIMEOUT configuration parameter to specify the
maximum number of seconds that a database server thread can wait to acquire a lock.
ROOTNAME rootdbs

以下是 onstat -g cfg diff 命令显示 TBLTBLFIRST 和 TBLTBLNEXT 配置参数的缺省
值、当前值和其在 onconfig 文件中的值的输出样本:
id name type units rsvd tunable
53 TBLTBLFIRST INT4 KB *
default : 500
onconfig: 0

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

id name type units rsvd tunable
54 TBLTBLNEXT INT4 KB *
default : 100
onconfig: 0
current : 150
以下是显示有关 MSGPATH 配置参数的信息的输出样本。
在这里,
没有建立该配置参数的
缺省值、当前值及其 onconfig 文件:
id name type units rsvd tunable
10 MSGPATH CHAR * *
default :
onconfig: /work2/JC/online.log
current : /work2/JC/online.log
以下是 onstat -g cfg msg 命令显示标识已更改值的配置参数的消息的输出样本:
Configuration Parameters With Messages
name message
TBLTBLFIRST Parameter's user-configured value was adjusted.
TBLTBLNEXT Parameter's user-configured value was adjusted.
BUFFERPOOL Parameter's user-configured value was adjusted.
STACKSIZE Parameter's user-configured value was adjusted.
VPCLASS Parameter's user-configured value was adjusted.
输出描述
name
配置参数名称
type
值的数据类型
units
值表示的单位
rsvd
标示(带星号)配置参数及其值存储在配置驻留页中
如果没有星号,那么该配置参数及其值不存储在配置驻留页中
tunable
标示(带星号)此配置参数可以动态调整。例如:使用 onmode -wm 或 -wf 命令

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 506 -
如果没有星号,那么该配置参数不能被动态地修改
min/max
配置参数的最大值和最小值
default
建立到服务器中配置参数的缺省值
onconfig
配置参数值,任和值都在 onconfig.std 文件中
current
配置参数的当前值
如果动态修改了该值,其当前值是不同的。例如:使用 onmode -wm 命令
Description
配置参数的描述
message
标识一个已更改的配置参数值的消息
onstat -g cluster 命令:打印高可用集群信息
可以使用 onstat -g cluster 命令显示有关在高可用集群环境下的服务器的信息。
语法:

onstat -g cluster 命令合并了 onstat -g dri 、onstat -g sds 和 onstat -g rss 的功能。 onstat -g
cluster 命令的输出根据该命令是在主服务器或在其它任一辅助服务器上运行而稍有不同。
示例输出(主服务器)
以下 onstat -g cluster 命令的示例输出。该示例显示了命令运行在主服务器上的输出。
图: onstat -g cluster 命令输出(自主服务器上运行)

输出描述(主服务器)
Primary server
分配的主服务器的名称

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 507 -
Current log page
当前日志页的日志 ID 和页数
Index page logging status
指示索引页日志记录是否启用或禁用
Index page logging was enabled at
启用索引页日志记录的日期和时间
Server
辅助服务器的名称
ACKed Log (log, page)
最后一次应答日志传输的日志 ID 和页数
Applied Log (log, page)
最后一次应用日志传输的日志 ID 和页数
Supports Updates
显示客户端应用程序是否可以在辅助服务器上执行修改、插入和删除操作(由
UPDATABLE_SECONDARY 配置参数指定)。
Status
显示辅助服务器的连接状态
示例输出(主服务器,详细输出)
图: onstat -g cluster verbose 命令输出(自主服务器上运行)
以下是 onstat -g cluster verbose 命令的示例输出。
该输出显示此命令在主服务器上运行,

带有详细的选项。
Primary Server:serv1

Current Log Page:16,479

Index page logging status: Enabled

Index page logging was enabled at: 2013/12/11 14:05:17





-----------------------------------------------------------



server name: serv3

type: ASYNC (HDR)

control block: 0x4b673018

server status: On

connection status: Connected

Last log page sent (log id, page): 16,479

Last log page acked (log id, page); 16,479

Last log page applied (log id, page); 16,479

Approximate log page backlog: 0

SDS cycle not used

Delayed Apply Not Used

Stop Apply Not Used

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

Time of last ack: 2013/12/11 14:09:12

Supports Updates: Yes

-----------------------------------------------------------

server name: serv2

type: SYNC (SDS)

control block: 0x4c2de0b8

server status: Active

connection status: Connected

Last log page sent (log id, page): 16,479

Last log page acked (log id, page); 16,479

Last log page applied (log id, page); 16,479

Approximate log page backlog: 0

SDS cycle current: 20 ACKed: 20

Delayed Apply Not Used

Stop Apply Not Used

Time of last ack: 2013/12/11 14:09:13

Supports Updates: Yes
输出描述(主服务器,详细输出)
Primary server
主服务器名
Current log page
当前日志页的日志 ID 和页数
Index page logging status
指示索引页日志记录是否启用或禁用
Index page logging was enabled at
启用索引页日志记录的日期和时间
Server name
辅助服务器的名称
type
显示该辅助服务器的连接是同步(SYNC)还是异步(ASYNC)。也显示辅助服务器的类
型:HDR 、SDS 或 RSS
control block
线程控制 block 的在内存中的地址
server status
显示辅助服务器的当前状态
connection status
显示辅助服务器的当前网络连接状态
Last log page sent (log id, page)
最近一次主服务器发送到辅助服务器的日志页的日志 ID 和页数
Last log page acked (log id, page)
辅助服务器最近应答的日志页的日志 ID 和页数

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 509 -
Last log page applied (log id, page)
辅助服务器最近应用的日志页的日志 ID 和页数
Approximate log page backlog
指示还未被辅助服务器处理的日志页的大概数目
SDS cycle
指示共享磁盘辅助服务器已确认的周期数和主服务器具有先进的循环次数。
由 GBase 支持
用于监控主服务器和辅助服务器的协调性。
Delayed Apply
指示该辅助服务器在应用日志前是否等待特定的时间量(通过 DELAY_APPLY 配置参数
指定)
Stop Apply
指示该辅助服务器是否已停止应用从主服务器接收的日志文件(通过 STOP_APPLY 配置
参数指定)
Time of last ack
最后一次通知日志的日期和时间
Supports Updates
显示客户端应用程序是否可以在辅助服务器上执行修改、插入和删除操作(由
UPDATABLE_SECONDARY 配置参数指定)
示例输出(辅助服务器)
以下是 onstat -g cluster 命令的输出示例。该示例显示命令在辅助服务器上运行的输出。
图: onstat -g cluster 命令输出(自辅助服务器上运行)
Primary Server:serv1
Index page logging status: Enabled
Index page logging was enabled at: 2010/01/11 14:05:17
Server ACKed Log Applied Log Supports Status

(log, page) (log, page) Updates
serv2 16,479 16,479 Yes SYNC(SDS),Connected,Active
输出描述(辅助服务器)
Primary server
主服务器的名称
Index page logging status
指示索引页日志记录是否启用或禁用
Index page logging was enabled at
启用索引页日志记录的日期和时间
Server

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 510 -
辅助服务器的名称
ACKed Log (log, page)
最后一次应答日志传输的日志 ID 和页数
Applied Log (log, page)
最后一次应用日志传输的日志 ID 和页数
Supports Updates
显示客户端应用程序是否可以在辅助服务器上执行修改、插入和删除操作(由
UPDATABLE_SECONDARY 配置参数指定)
Status
显示辅助服务器的连接状态
onstat -g cmsm 命令:打印连接管理器的信息
使用 onstat -g cmsm 命令显示有关指定的连接管理器的信息,或附加在运行该命令的数据
库服务器的所有连接管理器的信息。
语法:

用法
onstat -g cmsm 显示连接连接管理器的连接单元、
每个连接管理器服务等级协议
(SLA)

理的连接数、SLA 定义、故障切换顺序规则、故障转移仲裁以及主服务器状态。
使用 connection_manager_name 来显示指定的连接管理器实例的信息。如果没有指定
connection_manager_name ,onstat -g cmsm 显示所有连接数据库服务器的连接管理器的信
息。
示例输出 1:指定的连接管理器的输出
在以下示例中,onstat -g cmsm connection_manager_1 在主服务器的 my_cluster_1
上运行:
Unified Connection Manager: connection_manager_1 Hostname: my_host_1
CLUSTER my_cluster_1 LOCAL
SLA Connections Service/Protocol Rule
oltp_1 35 19910/onsoctcp DBSERVERS=primary
report_1 33 19810/onsoctcp DBSERVERS=(HDR,SDS,RSS)

Failover Arbitrator: Active Arbitrator, Primary is up ORDER=SDS,HDR,RSS PRIORITY=1

该命令显示 connection_manager_1 的输出。
connection_manager_1 管理一个 CLUSTER 连
接单元,并且是主故障转移仲裁者。
示例输出 2:高可用性集群的输出

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 511 -
在以下示例中,onstat -g cmsm 在主服务器的 my_cluster_2 上运行:
Unified Connection Manager: connection_manager_2 Hostname: my_host_2

CLUSTER my_cluster_2 LOCAL
SLA Connections Service/Protocol Rule
sla_1 1535 19910/onsoctcp DBSERVERS=primary
sla_2 2133 19810/onsoctcp DBSERVERS=(HDR,SDS,RSS)

Failover Arbitrator: Active Arbitrator, Primary is up
ORDER=SDS,HDR,RSS PRIORITY=1

CLUSTER my_cluster_3
SLA Connections Service/Protocol Rule
sla_3 730 19930/onsoctcp DBSERVERS=primary
sla_4 901 19830/onsoctcp DBSERVERS=(HDR,SDS,RSS)

Failover Arbitrator: Active Arbitrator, Primary is up
ORDER=SDS,HDR,RSS PRIORITY=1

Unified Connection Manager: connection_manager_3 Hostname: my_host_3

CLUSTER my_cluster_2 LOCAL
SLA Connections Service/Protocol Rule
sla_5 614 19920/onsoctcp DBSERVERS=primary
sla_6 483 19820/onsoctcp DBSERVERS=(HDR,SDS,RSS)

Failover Arbitrator: Failover is enabled
ORDER=SDS,HDR,RSS PRIORITY=2

CLUSTER my_cluster_3
SLA Connections Service/Protocol Rule
sla_7 678 19940/onsoctcp DBSERVERS=primary
sla_8 270 19840/onsoctcp DBSERVERS=(HDR,SDS,RSS)

Failover Arbitrator: Failover is enabled
ORDER=SDS,HDR,RSS PRIORITY=2
该命令显示连接到主服务集群的两台连接管理器。connection_manager_2 和
connection_manager_3 安装在不同的主机上,
并且它们一起管理两个 CLUSTER 连接单元。
connection_manager_2 是这些 CLUSTER 连接单元的主故障转移仲裁者。
示例 3:复制设置的输出
在以下示例中,onstat -g cmsm 在复制服务器的 my_replicate_set_1 中运行。
Unified Connection Manager: connection_manager_4 Hostname: my_host_4
REPLSET my_replicate_set_1
SLA Connections Service/Protocol Rule
sla_1 160 19810/onsoctcp DBSERVERS=ANY

Unified Connection Manager: connection_manager_5 Hostname: my_host_5
REPLSET my_replicate_set_1
SLA Connections Service/Protocol Rule

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 512 -
sla_2 240 19820/onsoctcp DBSERVERS=ANY
该命令显示了两台连接到复制服务器的连接管理器。connection_manager_4 和
connection_manager_5 分别安装在不同的主机,并且它们一起管理复制服务器。
示例 4:Grid 的输出
在以下示例中,onstat -g cmsm 在 my_grid_1 的一个节点上运行。
Unified Connection Manager: connection_manager_6 Hostname: my_host_6
GRID my_grid_1
SLA Connections Service/Protocol Rule
sla_1 456 19830/onsoctcp DBSERVERS=(group_name_1,group_name_2) POLICY=FAILURE

Unified Connection Manager: connection_manager_7 Hostname: my_host_7
GRID my_grid_1
SLA Connections Service/Protocol Rule
sla_2 785 19840/onsoctcp DBSERVERS=(group_name_1,group_name_2)POLICY=FAILURE
该命令显示了两台连接到 grid 的连接管理器。它还显示了连接到该节点的两台连接管理
器。connection_manager_6 和 connection_manager_7 分别安装在不同的主机,并且它们一
起管理 grid 。
示例 5 :服务器集的输出
在以下示例中,onstat -g cmsm 在一个独立服务器的服务器集上运行。
Unified Connection Manager: connection_manager_8 Hostname: my_host_8
SERVERSET server_1,server_2
SLA Connections Service/Protocol Rule
sla_1 63 19810/onsoctcp DBSERVERS=(server_1,server_2) POLICY=ROUNDROBIN

Unified Connection Manager: connection_manager_9 Hostname: my_host_9
SERVERSET server_1,server_2
SLA Connections Service/Protocol Rule
sla_2 63 19810/onsoctcp DBSERVERS=(server_1,server_2) POLICY=ROUNDROBIN
该命令显示了两台连接到此服务器集的连接管理器。connection_manager_8 和
connection_manager_9 分别安装在不同的主机,并且它们一起管理 该服务器集。。
输出描述
onstat -g cmsm 命令的输出包含每个连接管理器的章节。
每一节显示连接管理器实例的名称
和主机名,之后包含有关连接管理器连接的每个连接单元的子章节。
Unified Connection Manager
连接管理器实例的名称
Hostname

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 513 -
连接管理器的主机的名称
SLA
服务等级协议的名称,在连接管理器的配置文件中设置。
Connections
自从连接管理器启动后,每个 SLA 处理的连接数
Service/Protocol
与 SLA 相关联的端口号或服务名,随后的是连接协议类型
Rule
SLA 定义
Failover Arbitrator:
指定连接管理器是否是主故障转移仲裁者(如果主服务器是活动的,并且故障转移启用)
仅用于显示 CLUSTER 连接单元
ORDER
指定集群的故障切换顺序。仅用于显示 CLUSTER 连接单元
PRIORITY
指定连接管理器和集群主服务器的连接优先级。仅用于显示 CLUSTER 连接单元
onstat -g con 命令:打印条件和线程信息
使用 onstat -g con 命令显示有关条件及正在等待这些条件的线程的信息。
语法:

示例输出
图: onstat -g con 命令输出
Conditions with waiters:
cid addr name waiter waittime
271 c63d930 netnorm 1511 6550

输出描述
cid
条件标识符
addr
条件控制 block 地址
name
线程正在等待的条件的名称
waiter
正在等待条件的线程的 ID

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 514 -
waittime
以秒表示的线程已经等待此条件的时间
onstat -g cpu: 打印运行时间统计信息
使用 onstat -g cpu 命令显示正在服务器上运行的每个线程的运行时间的统计信息。
语法:

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

输出描述
tid
线程 ID
name
线程名称
vp
正在运行线程的虚拟处理器的 ID
Last Run
线程上次运行的时间戳
CPU Time
直到现在线程运行的时间
#scheds

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 515 -
线程被安排运行的次数
status
线程的状态。可能值如下:
 cond wait
 IO Idle
 join wait
 mutex wait
 ready
 sleeping
 terminated
 running
 yield
onstat -g dbc 命令:打印 dbScheduler 和 dbWorker 线程的统计信息
使用 onstat -g dbc 命令显示有关正在运行的调度任务
(一些由 dbWorker 处理或计划运行,
一些由 dbScheduler 线程处理。)的统计信息。
语法:

示例输出
图: onstat -g dbc 命令输出
Worker Thread(0) 46fa6f10
=====================================
Task: 47430c18
Task Name: mon_config_startup
Task ID: 3
Task Type: STARTUP SENSOR
Last Error
Number -310
Message Table (gbasedbt.mon_onconfig) already exists in database.
Time 09/11/2007 11:41
Task Name mon_config_startup

Task Execution: onconfig_save_diffs
WORKER PROFILE
Total Jobs Executed 10
Sensors Executed 8
Tasks Executed 2
Purge Requests 8

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

Worker Thread(1) 46fa6f80
=====================================
Task: 4729fc18
Task Name: mon_sysenv
Task ID: 4
Task Type: STARTUP SENSOR
Task Execution: insert into mon_sysenv select 1, env_name, env_value FROM
sysmaster:sysenv
WORKER PROFILE
Total Jobs Executed 3
Sensors Executed 2
Tasks Executed 1
Purge Requests 2
Rows Purged 0

Scheduler Thread 46fa6f80
=====================================
Run Queue
Empty
Run Queue Size 0
Next Task 7
Next Task Waittime 57

输出描述
Worker Thread
共享内存中工作线程的地址
Task
最后执行的任务的名称
Task ID
来自 sysadmin:ph_task 表中的 tk_id 列有关该任务的任务 ID
Task Type
任务的类型
Last Error
dbWorker 线程遇到的最后的错误的错误号、错误消息、时间(以秒为单位)和任务名称。
它可能来自上一次执行的任务也可能来自几天前执行的任务。
Task Execution

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 517 -
SQL 语句或 SPL 程序或作为部分任务已执行的例程
WORKER PROFILE
dbWorker 线程概要文件数据显示总共执行的工作量、已执行的传感器的数、已执行的任务
数和从通过此 dbWorker 线程执行的所有传感器的结果表中已清除的行数。
Scheduler Thread
共享内存中调度线程的地址
Run Queue
下一个要调度任务的任务 ID 。如果没有计划任务,那么该值为 Empty
Run Queue Size
正在等待通过 dbWorker 执行的任务的数量
Next Task
安排的下一个要执行的任务的任务 ID
Next Task Waittime
安排的 Next Task 要执行前的秒数
onstat -g defragment 命令:打印磁盘碎片整理的分区 extent
使用 onstat -g defragment 命令显示有关磁盘碎片分区 extent 的活动请求的信息。
语法:

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

注: 该命令显示有关活动的磁盘碎片请求的信息。如果没有活动的磁盘碎片请求,那么仅
返回列标题。
输出描述
id
磁盘碎片请求的 ID
table name
正在进行碎片整理的表的全名
tid
线程 ID
dbsnum
正在进行碎片整理的 dbspace 的数量
partnum
正在进行碎片整理的分区的数量

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 518 -
status
 SEARCHING_FOR_EXTENT
 MERGING_EXTENTS
 DEFRAG_COMPLETED
 DEFRAG_FAILED
substatus
详细的状态号,如果有的话
errnum
最后一次碎片整理请求返回的错误号
onstat -g dic 命令:打印表信息
使用 onstat -g dic 命令显示共享内存字典中高速缓存的每张表的一行信息。如果指定了表
名,那么打印表的内部 SQL 信息。
语法:

示例输出
图: onstat -g dic 命令输出
Dictionary Cache: Number of lists: 31, Maximum list size: 10
list# size refcnt dirty? heapptr table name
--------------------------------------------------------
1 3 1 no 14b5d890 wbe@oninit_shm:gbasedbt.t0010url
1 no 14cbb820 wbe@oninit_shm:gbasedbt.t9051themeval
0 no 14b63c20 wbe@oninit_shm:gbasedbt.t0060hits
2 2 0 no 14b97420 wbe@oninit_shm:gbasedbt.t0120import
1 no 14b6c820 wbe@oninit_shm:gbasedbt.t9110domain
3 3 0 no 14bce020 wbe@oninit_shm:gbasedbt.t0150url
0 no 14d3d820 contact@oninit_shm:gbasedbt.wbtags
0 no 14c87420 wbe@oninit_shm:gbasedbt.wbtags
4 1 0 no 14b7a420 drug@oninit_shm:abcdef.product ..
Total number of dictionary entries: 36

输出描述
list#
数据字典哈希链 ID
size
在此哈希列中的条目的数量
refcnt

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 519 -
当前引用高速缓存条目之一的 SQL 语句的数量
dirty?
自上次写入磁盘以来条目是否已修改
heapptr
用于存储此表的堆的地址
table name
在高速缓存中的表的名称
有关 onstat -g dic 命令的更多信息,请参阅 GBase 8s 性能指南。
onstat -g dis 命令:打印数据库服务器信息
使用 onstat -g dis 命令显示数据库服务器及其状态列表和有关每个数据服务器,包括
GBASEDBTDIR 目录位置、sqlhosts 文件以及 ONCONFIG 文件的信息。可以在数据库服
务器处于任何方式(包括脱机) 时使用该命令。
语法:

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

输出描述
Server
服务器名称
Server Number

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 520 -
服务器编号
Server Type
服务器类型
Server Status
Up 表示服务器联机,Down 表示服务器脱机
Server Version
服务器版本
Shared Memory
共享内存地址的位置
GBASEDBTDIR
在 UNIX™ 中是 $GBASEDBTDIR/ 目录的位置,在 Windows™ 中是
在 %GBASEDBTDIR%\ 目录中
ONCONFIG
ONCONFIG 文件的位置
SQLHOSTS
sqlhosts 文件的位置
Host
服务器的主机名
onstat -g dll 命令:打印动态链接库文件列表
使用 onstat -g dll 命令显示已加载的动态链接库(DLL)文件列表。
语法:

示例输出
该输出显示仅一次每个进程组库文件的名称。该标记标示当服务器启动后,库是否已加载。

图: onstat -g dll 命令输出
addr slot vp baseaddr flags filename
0x4af55310 15 1 0x2a985e3000 PM /finance/jeffzhang/mylib.udr
0x4b6f2310 2 0x2a985e3000
0x4b71b310 3 0x2a985e3000
0x4c09f310 16 1 0x2a985e3000 M /deptxyz/udrs/geodetic.bld
0x4c0c0310 2 0x2a985e3000
0x4c0f1310 3 0x2a985e3000
0x4c112310 17 1 0x7a138e9000 /home/gbasedbt/extend/blade.so
0x4c133310 2 0x3a421e1000
0x4c133310 3 0x3a421e1000


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 521 -
输出描述
addr
DLL 文件的地址
slot
在库表中的 Slot 编号条目
vp
虚拟处理器的 ID
baseaddr
共享库的基地址
flags
 M 标示呼叫 UDR 的线程可从从一个 CPU 虚拟处理器转移到另一个 CPU 虚拟处理

 P 标示当数据库服务器启动后,该共享库已加载
filename
DLL 文件的名称
onstat -g dmp 命令:打印原内存
使用 onstat -g dmp 命令显示有关在若干个给定的字节的给定的地址处原内存信息。
语法:

每个地址和长度必须在 onstat -g seg 输出中显示的分配内存的范围之内。指定的地址格式
可以是十进制或十六进制。十六进制地址必须以 0x 开头。可以指定该地址为十进制,但
是这样做需要在使用它作为命令行参数之前,将 onstat -g seg 显示的内存转换为十进制。
示例输出
图: onstat -g dmp 命令输出
%onstat -g dmp 0x700000011a19d48 100
address bytes in mem
0700000011a19d48: 07000000 118e0fa8 07000000 11942b40 ........ ......+@
0700000011a19d58: 07000000 10137120 00000000 00000000 ......q ........
0700000011a19d68: 00000000 00000000 00000000 00000000 ........ ........
0700000011a19d78: 07000000 11a19d48 07000000 11a19d48 .......H .......H
0700000011a19d88: 00000000 00000000 00000000 00000000 ........ ........
0700000011a19d98 *
0700000011a19da8: 00000000 ....

输出描述
address

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 522 -
原内存的内存地址
bytes in mem
内存内容的十六进制和 ASCII 说明
该命令的输出分为三列:
内存地址、
以字节表示的内存十六进制值和内存的 ASCII 字节说
明。内存中的字节(中间)章节显示了内存位于命令行中指定地址的前 16 个字节。第三
列显示了十六进制数据的 ASCII 说明。所有没有等价的 ASCII 字符的十六进制值都会显
示成间隔符。显示 ASCII 值是为了使纯文本搜寻更简便。
在以上显示的示例输出中,第五行数据显示零并且第六行包含星号。星号标识前一行重复
的未知编号,它表示在第四行之后没有更多的数据。
onstat -g dri 命令:打印高可用性数据复制信息
使用 onstat -g dri 命令(单独使用或和 ckpt 或 que 选项一起使用),来打印有关当前服
务器中的高可用性数据复制的统计信息。
可以使用 onstat -g dri 命令打印有关 HDR 服务器状态和 HRD 相关配置参数信息。
语法:

onstat -g dri 的示例输出和输出描述
图: onstat -g dri 命令输出
Data Replication at 0x4d676028:
Type State Paired
server Last
DR
CKPT
(id/pg) Supports
Proxy
Writes
primary on my_server 4 / 5 NA

DRINTERVAL 5
DRTIMEOUT 30
DRAUTO 3
DRLOSTFOUND /etc/dr.lostfound
DRIDXAUTO 0
ENCRYPT_HDR 0
Backlog 0
Last Send 2013/12/11 16:39:48
Last Receive 2013/12/11 16:39:48
Last Ping 2013/12/11 16:39:44
Last log page applied(log id,page): 4,6

Type
服务器的当前类型:主服务器、辅助服务器或标准服务器
State
on 或 off

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 523 -
Paired server
与该服务器配对的主服务器或辅助服务器的名称
Last DR CKPT
最后 checkpoint ID 和页
Supports Proxy Writes
显示该服务器是否配置允许辅助服务器更新。Y = 支持辅助服务器更新,N = 不支持辅助
服务器更新
DRINTERVAL
onconfig 文件中配置参数的值
DRTIMEOUT
onconfig 文件中配置参数的值
DRAUTO
onconfig 文件中配置参数的值
DRLOSTFOUND
onconfig 文件中配置参数的值
DRIDXAUTO
onconfig 文件中配置参数的值
ENCRYPT_HDR
onconfig 文件中配置参数的值
Backlog
在 HDR 数据复制缓冲区中还未发送到 HRD 辅助服务器中的日志页数
Last Send
最后一个消息发送至对等节点的时间
Last Receive
从对等节点接收的最后一个消息的时间
Last Ping
上次 ping 的时间
Last log page applied(log id,page)
上次应用日志的日志 ID 和页
onstat -g dri ckpt 的示例输出和输出描述
使用 onstat -g dri ckpt 命令打印在 HDR 服务器中未阻塞的 checkpoint 的信息。
图: onstat -g dri ckpt 命令输出

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

Save State
B (buffering) 服务器正在向暂存区添加日志
D (draining) 服务器正在从暂存区移除日志
N (normal) 服务器正常工作,这意味着没有保存日志
Pages Saved
显示保存在暂存区还没应用的日志的页数
Save Area
显示暂存日志文件的位置
Received log id, page
显示从主服务器接收的最后一个日志的 ID 和页
Processed log id, page
显示排队等待恢复管道的最后一个日志的 ID 和页
Saved log id, page
显示存储在暂存区(如果暂存区状态是 B 或 D)的最后一个日志的 ID 和页
Drain log id, page
显示最后一个从暂存区移除的日志的 ID 和页
Pending checkpoints
显示暂存的还未应用的 checkpoint 数量
Pending ckpt log id, page
显示任意暂押的 checkpoint 记录的位置
onstat -g dri que 的示例输出和输出描述
使用 onstat -g dri que 命令打印几乎与 HDR 复制同步相关的信息。
图: onstat -g dri que 命令输出

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

Pending message to send
在 drprsend 线程的复制缓冲区排队的未处理的数据的数量
ACK QUEUE
日志唯一值、页编号和最近大多数 GBase_8s paged 的日志的 0xfff 值
thread
线程控制 block (TCB)的指针,括号中的数字为此线程的 ID,和由该线程执行提交的日
志序列号(LSN)
Applied QUEUE
被 HDR 辅助服务器接收的正在等待认知的提交的 LSN
onstat -g dsc 命令:打印分布式高速缓存信息
使用 onstat -g dsc 命令显示有关分布式高速缓存的信息。
语法

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

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

输出描述
Number of lists
在分布式高速缓存中列表的数量
DS_POOLSIZE
每次可以高速缓存的条目的数量
list
分布式高速缓存哈希链 ID
id
哈希条目编号
ref
引用高速缓存条目的语句的数量
drop
此条目添加到高速缓存以来是否被删除
hits
高速缓存条目的访问次数
heap_ptr
用于存储此条目的堆地址

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 527 -
distribution name
在高速缓存中分布式的名称
Total number of distribution entries
分布式高速缓存中的条目的数量
Number of entries in use
正在被使用的条目的数量
onstat -g dsk 命令:打印当前正在运行的压缩操作的进度
可以使用 onstat -g dsk 命令打印当前正在运行的压缩操作的进度,例如:压缩、重新打包
和收缩。
语法:

示例输出
图: onstat -g dsk 压缩操作命令的输出

图: onstat -g dsk 重新打包操作命令的输出

输出描述
partnum
表或分片的分区号
OP
压缩操作,例如:压缩、重新打包或收缩
Pass
对于重新包装操作,1 标示第一遍读取行,2 标示第二遍读取
Processed Rows
目前为止该指定操作已处理的行数
Blobs
操作的简单大对象数
Remaining Rows
要处理的剩余行数。对于重新打包操作,是当前已过的剩余行数。
Duration Time(s)
自从该操作开始以来的持续的时间
Remaining Time(s)

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 528 -
该操作大概剩余的时间量。对于重新包装操作,是当前已过的剩余时间。
onstat -g env 命令:打印环境变量值
可以使用 onstat -g env 命令显示数据库服务器当前使用的环境变量的值的信息。
语法:

可以指定以下调用之一。
onstat -g env
显示数据库服务器启动时变量的设置
不显示还未显式设置的变量
onstat -g env all
显示由所有会话使用的设置
此显示与 onstat -g env 和 onstat -g envsessionid
的输出相同(对所有当前会话重复)
onstat -g env variable
显示指定变量的缺省值
此 variable 参数使得不必将输出以管道方式运送到
grep (或某些其他实用程序)中以便在许多可能设置
的变量中找到一个变量
onstat -g env sessionid
显示特定会话使用的设置。该显示包含以下值:
 会话环境中的设置
 由数据库服务器指定,如 onstat
-g
env 所显

onstat -g env sessionid
variable
显示指定会话使用的指定变量的值
sessionid 和 variable 参数使得不必将输出以管道
方式运送到 grep
(或一些其他实用程序)
中以便在许
多可能设置的变量中找到一个变量


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 529 -
onstat -g env 命令显示变量的当前设置和每次在环境中设置此变量时的值的完整列表。例
如:如果 PDQPRIORITY 在 .gbasedbt.rc 文件中设置为 10 ,而在 shell 环境中设置为
55 ,那么 onstat -g env 会显示两个值。
但是,如果使用 onmode -q pdqpriority sessionid 命令更改了 PDQPRIORITY ,那么 onstat
-g env 命令不会显示该会话的新值。
onstat -g env 命令仅显示环境中设置的变量的值,
它不
显示会话正在运行时修改的值。
在以下任何情况下,您可能想要显示环境变量的值:
 数据库服务器示例已运行了几个月,但您无法记起环境变量的设置(例如服务器语
言环境设置 SERVER_LOCALE)。
 您想要显示变量值的完整列表,以标识变量何时在多处进行了设置。
 在这期间磁盘上的环境文件可能已更改或已丢失。
 支持工程师想要知道特定环境变量的设置。
示例输出
下图显示了 onstat -g env 命令的输出。
图: onstat -g env 命令输出
Variable Value [values-list]
DBDATE DMY4/
DBDELIMITER |
DBPATH .
DBPRINT lp -s
DBTEMP /tmp
GBASEDBTDIR /build2/11.50/tristarm/sqldist
[/build2/11.50/tristarm/sqldist]
[/usr/gbasedbt]
GBASEDBTSERVER parata1150
GBASEDBTTERM termcap
LANG C
LC_COLLATE C
LC_CTYPE C
LC_MONETARY C
LC_NUMERIC C
LC_TIME C
LD_LIBRARY_PATH /usr/openwin/lib:/lib:/usr/lib
LKNOTIFY yes

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 530 -
LOCKDOWN no
NODEFDAC no
NON_M6_ATTRS_OK 1
PATH /build2/11.50/tristarm/sqldist/bin:.:
/root/bin:/opt/SUNWspro/bin:/usr/ccs/bin:
/usr/openwin/bin:/usr/sbin:/usr/bin:/usr
/local/bin
SERVER_LOCALE en_US.819
SHELL /bin/ksh
SINGLELEVEL no
SUBQCACHESZ 10
TBCONFIG onconfig
TERM xterm
[xterm]
[dumb]
TERMCAP /etc/termcap
TZ GB
onstat -g ffr 命令:打印空闲分片
可以使用 onstat -g ffr 命令显示有关特定会话或共享内存池的可用分片的信息。
该命令需要附加的参数来指定要显示内存池信息的池的名称或会话 ID 。每个会话都以其
名称为会话 ID 分配到内存池中。可以使用 onstat -g mem 命令标示池的名称,使用
onstat -g ses 命令标示会话 ID 。
语法:

示例输出
图: onstat -g ffr aio 命令输出

输出描述

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 531 -
addr (hexadecimal)
池分片的内存地址
size (decimal)
池分片大小,以字节表示
idx (decimal)
供内部使用。可用列表指针数组中的索引
onstat -g glo 命令:打印全局多线程信息
使用 onstat -g glo 命令显示有关多线程的全局信息、每个正在运行的虚拟处理器的信息以
及每个虚拟处理器类的计算统计信息。该信息包括有关虚拟处理器 CPU 的使用信息、总
会话数和其他多线程全局计数。
语法:

示例输出
图: onstat -g glo 命令输出
MT global info:
sessions threads vps lngspins time
0 23 14 0 142

sched calls thread switches yield 0 yield n yield forever
total: 85240 70451 16956 868
37319
per sec: 0 0 0 0 0

Virtual processor summary:
class vps usercpu syscpu total
cpu 1 92.12 0.59 92.71
aio 1 0.05 0.08 0.13
lio 1 0.00 0.00 0.00
pio 1 0.00 0.00 0.00
adm 1 0.00 0.01 0.01
soc 4 0.01 0.01 0.02
msc 1 0.00 0.00 0.00
jvp 1 0.00 0.00 0.00
fifo 1 0.00 0.00 0.00

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 532 -
nyevp 1 0.00 0.00 0.00
yevp 1 0.00 0.00 0.00
total 14 92.18 0.69 92.87

Individual virtual processors:
vp pid class usercpu syscpu total Thread
Eff
1 26328 cpu 92.12 0.59 92.71 122.65
75%
2 26330 adm 0.00 0.01 0.01 0.00
0%
3 26331 lio 0.00 0.00 0.00 0.00
0%
4 26332 pio 0.00 0.00 0.00 0.00
0%
5 26333 aio 0.05 0.08 0.13 0.28
45%
6 26334 msc 0.00 0.00 0.00 0.19
0%
7 26335 fifo 0.00 0.00 0.00 0.00
0%
8 26336 nyevp 0.00 0.00 0.00 0.00
0%
9 26337 yevp 0.00 0.00 0.00 0.00
0%
10 26338 jvp 0.00 0.00 0.00 0.00
0%
11 26339 soc 0.00 0.00 0.00 NA
NA
12 26340 soc 0.00 0.00 0.00 NA
NA
13 26341 soc 0.01 0.01 0.02 NA
NA

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 533 -
14 26342 soc 0.00 0.00 0.00 NA
NA
tot 92.18 0.69 92.87
输出描述
下表解释了示例输出中全局信息章节中的每个列。
表 1. 虚拟处理器摘要列的描述
列名
描述
sessions
会话数
threads
线程总数
vps
虚拟处理器的总数
lngspins
线程不得不 spin 超过 10,000 次以获得资源上的 latch 的次数
time
生成统计信息的时间。服务器启动时开始统计或通过运行 onstat -z 命
令重置统计信息。
sched calls
排定呼叫的总数
thread
switches
从一个线程到另一个线程切换的总次数
yield
线程收益率的统计信息
(在该线程无法继续它的任务直到发生别的条件时
发生)

下表解释了示例输出中 Virtual Processor Summary 章节中的每个列。
表 2. Virtual Processor Summary 列的描述
列名
描述
class
虚拟处理器的类型
vps
这个虚拟处理器类的实例的数量
usercpu 这个虚拟处理器类在 CPU 上运行所花费的总用户时间(秒)
syscpu 这个虚拟处理器类在 CPU 上运行所花费的总系统时间(秒)
total
虚拟处理器类的总 CPU 时间,它是用户时间加上系统时间的总和


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 534 -
下表解释了示例输出中 Individual Virtual Processor 章节中的每个列。
表 3. Individual Virtual Processor 的列描述
列名
描述
vp
虚拟处理器编号。在 Windows™ 上,是线程 ID 值。
pid
oninit 进程的进程 ID
class
虚拟处理器类
usercpu 虚拟处理器类在 CPU 上运行的总用户时间(秒)
syscpu 虚拟处理器类在 CPU 上运行的总系统时间(秒)
total
虚拟处理器类的总 CPU 时间,它是用户时间加上系统时间的总和
Thread 线程在虚拟处理器上运行的总时间
Eff
效率。总 CPU 时间占线程在虚拟处理器上运行总时间的比率

onstat -g his 命令:打印 SQL 跟踪信息
可以使用 onstat -g his 命令显示 sysmaster 数据库中 syssqltrace 表(包括
syssqltrace 、
syssqltrace_info 、
syssqltrace_hvar 和 syssqltrace_itr)
收集的 SQL
跟踪信息。
SQLTRACE 配置参数的 level 设置会影响由 syssqltrace 表存储和显示的 SQL 跟踪信
息,并影响 onstat
-g
his 显示的信息。syssqltrace 表每行描述一条以前执行的 SQL 语
句。缺省情况下,只有 DBSA 可以查看来自 onstat -g his 命令的 syssqltrace 信息。
然而,当将 UNSECURE_ONSTAT 配置参数设置为 1 时,所有的用户都可以查看该信息。
语法:

示例输出
输出的内容依赖于跟踪的设置。
输出中的 Statement history 部分提供有关正在跟踪的当前设置的信息。

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

下表是该输出的描述:
元素
描述
Trace
Level
已跟踪的信息量。可用值为 LOW 、MED 、HIGH 和 OFF
Trace Mode 执行跟踪的类型。Global 参考系统上的所用用户。User 只参考由 SQL 管理
API 函数启用的用户。
Number of
traces
跟踪的 SQL 语句的数量。该值在 onconfig 文件中进行设置,除非 SQL 管
理 API 函数动态更改了 ntraces 参数。它的取值范围是 500 到
2147483647 。如果有 100,000 个跟踪缓冲区,每秒组织运行 1000 条 SQL
语句并要跟踪所有的语句,那么这些缓冲区在重写之前将持续 100 秒。
Current
Stmt ID
当前 SQL 语句的 ID 。每条被跟踪的语句都获得一个唯一 ID 。
Trace
Buffer
size
每个跟踪缓冲区将获取的数据量
(以字节表示)

如果将此大小设置为 2
KB ,
但是有一条 12 KB 的 SQL 语句,那么该语句将会截断至少 10 KB 。更多的
数据可能会被截断,它依赖于要跟踪的其它的数据。
Duration
of buffer
以秒表示跟踪的数据在当前跟踪缓冲区跨度的时间量。它不是 sqltrace 功
能已运行的时间。在上述示例中,Duration of buffer 是 293 秒,它表示
跟踪的第一条和最后一条 SQL 语句之间的时间。
Trace
Flags
当前设置的 SQL 跟踪标志
Control
Block
该 SQL 跟踪控制 block 的内存地址


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 536 -
每次语句运行后,以下的信息重复显示一次。在该示例中,调用了两个变量。

下表是该输出的描述:
元素
描述
Database
数据库名或该数据库的 systables 条目部分的编号
Statement
text
该 SQL 语句的文本。如果该语句时存储过程,那么该语句文本将显示该过
程的堆跟踪。如果声明和数字统计大于跟踪缓冲区,那么该语句文本可能会
被截断。


下表是该输出的描述:
元素
描述
ID
SQL 迭代器 ID
Left
迭代器左侧输入的 ID
Right
迭代器右侧输入的 ID
Est Cost 本次迭代的估计成本
Est Rows 本次迭代的估计行数
Num Rows 本次迭代的实际行数
Partnum 表编号或索引分区编号
Type
操作类型


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 537 -
如果 SQL 语句包含一个或多个变量,并且您正在跟踪主机变量,那么输出中会显示 Host
Variables 小节。

下表是该输出的描述:
元素
描述
Column 1 该语句中变量的位置
Column 2 该变量的数据类型
Column 3 该变量值


下表是该输出的描述:
元素
描述
Sess_id
会话 ID
User_id
此操作系统用户 ID
Stmt
Type
SQL 语句类型
Finish
Time
当天该 SQL 语句结束的时间
Run Time 虚拟处理器或线程处理该语句所花费的总时间。例如:如果 Finish Time 是
1:15:00 ,Run
Time 是 9 分钟并且启动时间不一定是 1:06:00 ,那么可能在
并行语句部分调用了多个虚拟处理器或线程。
TX Stamp 该事务中记录 BEGIN WORK 语句的时间
PDQ
SQL 语句 PDQ 级别

输出中 Statement Statistics 部分提供有关该语句的特定信息。

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

元素
描述
Page Read
该 SQL 语句已从磁盘读取的页数
Buffer Read
该 SQL 语句从缓冲池读取而不是从磁盘读取页的次数
Read % Cache 应从缓冲池读取页的次数的百分比
Buffer IDX
Read
尚未明确
Page Write
写入磁盘的页数
Buffer Write 修改并发送回缓冲池的页数
Write % Cache 页面写入缓冲池而不是写入磁盘的次数的百分比
Lock
Requests
该语句所需的锁的总数
Lock Waits
该 SQL 语句等待锁的次数
LK Wait Time
(S)
该语句等待锁的时间(以秒为单位)
Log Space
逻辑日志中该 SQL 语句已使用的存储空间量
Num Sorts
用于执行语句的排序总数
Disk Sorts
对于该 SQL 语句,对磁盘执行的排序的次数
Memory Sorts 对于该 SQL 语句,对内存执行的排序的次数

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 539 -
元素
描述
Total
Executions
该语句已执行的总次数,或者该游标重用的次数
Total Time
(S)
执行该语句的总时间(以秒表示)
Avg Time (S) 执行该语句的平均时间(以秒表示)
Max Time (S) 运行 SQL 语句的总时间
(以秒为单位)

不包括应用程序使用的任何时间。
如果您准备一个查询然后查询 5 次,
该查询每次将一个跟踪添加到跟踪缓
冲区中。Max Time 是任意执行所花的最长时间
Avg IO Wait
语句等待 I/O 的时间量,不包括任何异步 I/O
I/O Wait Time
(S)
语句等待 I/O 的时间量,不包括任何异步 I/O(以秒为单位)
Avg Rows Per
Sec
该语句每秒产生的平均行数
Estimated
Cost
与 SQL 语句关联的查询优化程序的代价
Estimated
Rows
返回的估计行数,由语句的优化程序估计
Actual Rows
该语句返回的行数
SQL Error
SQL 错误编号
ISAM Error
RSAM 或 ISAM 错误编号
Isolation
Level
该语句运行时使用的隔离级别
SQL Memory
该 SQL 语句需要的字节数

有关 syssqltrace 系统监视接口表的完整结构,请参阅 syssqltrace。
有关 SQLTRACE 配置参数的详细设置信息,请参阅 SQLTRACE 配置参数。
onstat -g ioa 命令:打印合并的 onstat -g 信息

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 540 -
可以使用 onstat -g ioa 命令显示来自 onstat -g
iob 、onstat
-g iof 、onstat -g ioq
和 onstat -g iov 命令的组合信息。
语法

示例输出
AIO global info:
9 aio classes
9 open files
64 max global files

AIO I/O queues:
q name/id len maxlen totalops dskread dskwrite dskcopy
fifo 0 0 0 0 0 0 0
drda_dbg 0 0 0 0 0 0 0
sqli_dbg 0 0 0 0 0 0 0
adt 0 0 0 0 0 0 0
msc 0 0 1 231 0 0 0
aio 0 0 5 13069 10895 0 0
pio 0 0 1 1580 0 1580 0
lio 0 0 1 37900 0 37900 0
gfd 3 0 87 42115 15806 26309 0
gfd 4 0 4 5 1 4 0
gfd 5 0 12 35 22 13 0
gfd 6 0 11 33 21 12 0
gfd 7 0 1 4 3 1 0
gfd 8 0 1 4 3 1 0

AIO I/O vps:
class/vp/id s io/s totalops dskread dskwrite dskcopy wakeups io/wup
errors tempops
fifo 7 0 i 0.0 0 0 0 0 1 0.0
0 0

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 541 -
msc 6 0 i 0.0 231 0 0 0 221 1.0
0 231
aio 5 0 i 0.0 39285 26358 10793 0 37531 1.0
0 5
aio 9 1 i 0.0 5770 3795 1944 0 5926 1.0
0 0
aio 10 2 i 0.0 2308 717 1585 0 1953 1.2
0 0
aio 11 3 i 0.0 1463 166 1295 0 1166 1.3
0 0
aio 12 4 i 0.0 1219 46 1172 0 943 1.3
0 0
aio 13 5 i 0.0 1041 34 1007 0 805 1.3
0 0
aio 15 6 i 0.0 425 2 423 0 438 1.0
0 0
aio 16 7 i 0.0 342 5 337 0 395 0.9
0 0
pio 4 0 i 0.0 1580 0 1580 0 1581 1.0
0 1580
lio 3 0 i 0.0 37900 0 37900 0 29940 1.3
0 37900

AIO global files:
gfd pathname bytes read page reads bytes write page
writes io/s
3 ./rootdbs 85456896 41727 207394816
101267 572.9
op type count avg. time
seeks 0 N/A
reads 13975 0.0015
writes 51815 0.0018
kaio_reads 0 N/A
kaio_writes 0 N/A

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

4 tempsbs.chunk 2048 1 8192 4

您可以从 SQL 菜单创建并运行以 SPL 编写的例程。
可以将 SPL 例程存储到单独的命令文件中,
然后从应用程序进行调用或将其作为独立程序
运行。创建 SPL 例程之后,可以在 DB-Access 中通过相应的 SQL 语句运行该例程。下列
示例对步骤进行了详细说明。
创建并运行 SQL 例程
1. 要创建例程文本,直接在“新建”屏幕或“使用编辑器”屏幕中输入。在 CREATE
PROCEDURE 语句的语句块中输入例程的 SPL 和 SQL 语句。
如果例程返回值,请使用 CREATE FUNCTION 语句。
2. 使用“运行”选项来创建例程并在 sysprocedures 系统目录表中对其进行注册。
3. 使用“新建”屏幕输入 EXECUTE PROCEDURE 语句,此语句将指定要运行的例程。
如果使用 GBase
8s 并通过 CREATE
FUNCTION 语句创建例程,那么输入 EXECUTE
FUNCTION
语句来运行函数。
4. 使用“运行”选项来运行例程并显示结果。
例如,演示数据库随附的 c_proc.sql 命令文件包含 SPL。要能够运行例程,请先将
c_proc.sql 文件中的词 procedure 更改为 function,因为该例程会返回值。然后使用
“选择”选项,并选择 c_proc。
首先必须在数据库中注册该例程。如下图所示,选择“运行”选项。
图: 在 SQL 菜单上显示 SPL 例程的文本
SQL: N/新建 R/运行 M/修改 U/使用编辑器 O/输出 C/选择 S/保存 I/信息
D/删除 E/退出

GBase 8s DB-Access 用户指南
南大通用数据技术股份有限公司 - 32 -


运行当前的 SQL 语句。

--------------------- mydata@mynewdb ------ 按 CTRL-W 以获得帮助 -------

create function read_address (lastname char(15))

returning char(15), char(15), char(20), char(15),char(2), char(5);
define p_fname, p_city char(15);
define p_add char(20);
define p_state char(2);
define p_zip char(5);
select fname, address1, city, state, zipcode
into p_fname, p_add, p_city, p_state, p_zip
from customer
where lname = lastname;

return p_fname, lastname, p_add, p_city, p_state, p_zip;

end procedure;
DB-Access 显示一条消息以指示数据库服务器已创建例程。要运行例程,请从 SQL 菜单选
择“新建”,
然后输入相应的 EXECUTE 语句。
在以下示例中,
用户请求其姓氏为 Pauli 的
客户的地址:
EXECUTE PROCEDURE read_address ("Pauli")
在“新建”屏幕中输入 EXECUTE PROCEDURE 或 EXECUTE FUNCTION 语句之后,按 Esc 键
返回到 SQL 菜单。从 SQL 菜单选择“运行”以运行例程。下图显示了运行例程的结果。
图: 在 SQL 菜单上运行 SPL 例程的结果
SQL: N/新建 R/运行 M/修改 U/使用编辑器 O/输出 C/选择 S/保存 I/信息
D/删除 E/退出

GBase 8s DB-Access 用户指南
南大通用数据技术股份有限公司 - 33 -


运行当前的 SQL 语句。

--------------------- mydata@mynewdb ------ 按 CTRL-W 以获得帮助 -------

Ludwig
Pauli
213 Erstwild Court
Sunnyvale
CA
94086
提示: SPL 例程以可执行文件格式存储在系统目录表中。使用“数据库信息”菜单上的
“例程”选项显示当前数据库中例程的列表或显示指定例程的文本。