返回首页

gbase数据、南大通用产品文档:GBase8s设置数据库服务器共享内存配置参数

更新日期:2024年09月11日

可以修改影响共享内存的常驻或虚拟部分的配置参数。
可以使用文本编辑器来修改共享内存配置参数。有关这些配置参数的列表,请参阅《GBase
8s 管理员参考》中 onconfig 门户网站:按功能类别排列的配置参数的内容。
在 UNIX™ 上,您必须是 root 或 Gbasedbt 用户才能使用其中任何一种。
设置常驻共享内存的参数
以下列表中包含 onconfig 文件中的参数,
这些参数指定了缓冲池和内部表在共享内存的
常驻部分中的配置。在对配置参数所做的任何更改生效前,您必须关闭并重新启动数据
库服务器。有关配置参数的描述,请参阅《GBase 8s 管理员参考》。
BUFFERPOOL
指定缓冲池的信息,该缓冲池必须给定义给数据库空间使用的每个不同页大小。
LOCKS
指定数据库对象(例如,行、键值、页和表)的初始锁数。
LOGBUFF
指定逻辑日志缓冲区的大小。
PHYSBUFF
指定物理日志缓冲区的大小。
RESIDENT

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 145 -
指定数据库服务器共享内存的常驻部分的驻留。
SERVERNUM
指定本地主机上数据库服务器的唯一标识号。
SHMTOTAL
指定将由数据库服务器使用的总内存量。

设置虚拟共享内存的参数
有多个配置参数影响共享内存的虚拟部分。
以下列表包含用于配置共享内存的虚拟部分的配置参数:
DS_HASHSIZE
数据分发高速缓存中列表的散列存储区数。
DS_POOLSIZE
数据分发高速缓存中的最大条目数。
PC_HASHSIZE
为 UDR 高速缓存和数据库服务器使用的其他高速缓存指定散列存储区数。
PC_POOLSIZE
指定可以存储在 UDR 高速缓存中的 UDR 的数目(SPL 例程和外部例程)。此
外,
此参数指定了其他数据库服务器高速缓存的大小,
如类型名高速缓存和 opclass
高速缓存。
SHMADD
指定动态添加的共享内存段的大小。
SHMNOACCES
指定不用于连接共享内存的虚拟内存地址范围的列表。使用该参数可避免与其他进
程发生冲突。
EXTSHMADD
指定用户定义的例程或 DataBlade 例程在用户定义的虚拟处理器中运行时,
添加的
虚拟扩展段的大小。
SHMTOTAL
指定将由数据库服务器使用的总内存量。
SHMVIRTSIZE
指定共享内存的虚拟部分的初始大小。
STACKSIZE
指定数据库服务器用户线程的堆栈大小。

设置共享内存性能的参数
可以修改用于指定共享内存信息的配置参数。
以下配置参数影响共享内存性能。
AUTO_READAHEAD
为查询指定自动预读方式或禁用自动预读操作。
自动预读操作通过在数据库服务器
检测到查询遇到 I/O 时发出异步页请求,以帮助提高查询性能。 异步页请求通过
将查询处理与从磁盘检索数据并将数据放入缓冲池所需的处理相叠加,从而可以提
高查询性能。
CKPTINTVL
如果需要检查点并且 RTO_SERVER_RESTART 配置参数没有设置为打开自动检
查点调整,请指定在数据库服务器检查该检查点之前可以耗用的最大秒数。

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 146 -
CLEANERS
指定数据库服务器要运行的页清除程序线程数。
RA_PAGES
指定数据库服务器在执行数据或索引记录的顺序扫描时尝试预读的磁盘页数。
指定数据库服务器在顺序扫描数据或索引记录期间尝试预读的磁盘页数。
如果启用
了 AUTO_READAHEAD 配置参数,服务器将忽略 RA_PAGES 配置参数中指定
的信息。
RA_THRESHOLD
指定未处理的内存页素,这些内存页在读取后导致数据库服务器在磁盘上预读。

使用文本编辑器设置共享内存参数
可以使用文本编辑器设置有关常驻和虚拟共享内存以及共享内存性能的配置参数。 在
onconfig 文件中找到该参数,输入一个或多个新的值,然后重新将文件写入磁盘。更改生
效之前,您必须关闭并重新启动数据库服务器。


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 370 -
可以使用 onmode -p 命令动态地添加或移除数据库服务器实例的虚拟管理器。onmode -p
命令不会修改 onconfig 文件,
语法:

元素
用途
关键注意事项
-p number 添加或移除虚拟处理器。
number 参数指示要添加或
删除的虚拟处理器的数量。

如果该值是负整数,那么
删除处理器。如果该值时
正整数,
那么添加处理器。

仅当数据库服务器处于联机方式时才能使用 -p
选项,且一次只能添加一类虚拟处理器。
有关更多详细信息,
请参阅 添加和删除虚拟处
理器的规则。
如果正在删除虚拟处理器,那么最大数不能超
过指定类型的实际处理器数量。如果正在添加
虚拟处理器,那么最大数依赖于操作系统。
有关更多信息,请参阅 GBase 8s 管理员指南
中的使用虚拟处理器一章。
ADT
运行审计处理过程
当通过设置 ONCONFIG 文件中的 ADTMODE 参数
开启审计方式时,数据库服务器在审计类里开始

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 371 -
元素
用途
关键注意事项
虚拟处理器
AIO
对格式化的磁盘空间执行
非日志记录磁盘 I/O
如果内核异步 I/O (KAIO) 未使用,那么还对原
始磁盘空间执行非日志记录I/O
BTS
运行基本文本搜索索引操
作和查询
BTS 虚拟处理器是非放弃的。如果想要同时运行
多个基本文本搜索,
那么指定多个 BTS 虚拟处理
器。 使用 onconfig 文件中的 VPCLASS 参数创
建至少一个 BTS 虚拟处理器。
更多有关基本文本搜索查询的信息,请参阅
GBase 8s 数据库扩展用户指南
CPU
运行所有会话线程和一些
系统线程
建议 CPU VP 的数量不要大于物理处理器的数
量。如果使用了 KAIO ,那么对原始磁盘空间执
行 I/O ,包括对物理和逻辑日志的 I/O 。可用
时运行 KAIO 线程或运行单个轮询线程。数据库
服务器将 CPU VP 数用于为并行数据库查询
(PDQ) 分配资源。如果删除 CPU
VP,查询运行将
显著减慢。 onstat -g mgm 输出的 Reinit字段
显示有关在 onmode -p 命令之后等待正在运行
的查询完成的查询数量的信息。另见 GBase 8s
性能指南
ENCRYPT
执行列级别的加密和解密
例程
指定更多 ENCRYPT 虚拟处理器
(如果您有多个加
密的列)
JVP
在 Java™ 虚拟机
(JVM)

执行 Java 用户定义的例

如果正在运行许多 Java UDR ,那么指定更多
JVP
LIO
如果在格式化的磁盘空间
中,
那么写入逻辑日志文件

只有在逻辑日志位于镜像数 dbspace 中时才使
用 2 个 LIO 虚拟处理器。数据库服务器最多允
许 2 个 LIO 虚拟处理器
MSC
管理需要大量的堆栈空间
用于杂项内部任务

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 372 -
元素
用途
关键注意事项
的系统调用的请求
PIO
如果在格式化的磁盘空间
中,
那么写入物理日志文件

只有在物理日志位于镜像数 dbspace 中时才使
用 2 个 PIO 虚拟处理器。数据库服务器最多允
许 2 个 PIO 虚拟处理器
SOC
使用 sockets 来执行网络
通信
只能在数据库服务器通过 scokets 配置网络通
信时,使用 SOC 虚拟处理器
STR
执行流管道连接

vpclass
给出用户自定义的虚拟处
理器类的名称
使用 onconfig 中的 VPCLASS 参数定义用户自
定义虚拟处理器类。如果想要运行多个 UDR,那
么可以指定多个用户自定义处理器。
在 Windows™ 上,同一时刻只能有一个用户自
定义虚拟处理器类。省略 onmode -p vpclass
命令中的 number 参数。
更多有关扩展类的信息,
请参阅 VPCLASS 配置
参数

添加和删除虚拟处理器的规则
可以添加和删除虚拟处理器。
请应用以下规则:
 您不能删除最后的虚拟处理器。至少保留一台虚拟处理器。
 您不能添加或删除 ADM 或 OPT。
 仅限 Windows™ : 可以添加任意类的虚拟处理器,但不能删除虚拟处理器。
下列是可添加或删除的虚拟处理器:
虚拟处理器名称 添加 删除
ADT
Yes No
AIO
Yes No
BTS
Yes Yes

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 373 -
虚拟处理器名称 添加 删除
CPU
Yes Yes
ENCRYPT
Yes Yes
JVP
Yes Yes
LIO
Yes1 No
MSC
Yes No
PIO
Yes1 No
SOC
Yes No
STR
Yes No
vpclass
Yes Yes
表注:1. 您可以添加多个虚拟处理器。
使用 onstat 实用程序监视轮询线程
当数据库服务器联机时,不能删除正在运行轮询线程的 CPU 虚拟处理器。要确定在 CPU
虚拟处理器上运行的轮询线程,请使用以下命令:
onstat -g ath | grep 'cpu.*poll'
以下 onstat -g ath 输出显示了带有轮询线程的 2 个 CPU 虚拟处理。在这情况下,不能降
到低于 2 个 CPU 虚拟处理器。
tid tcb rstcb prty status vp-class name
8 a362b90 0 2 running 1cpu tlitcppoll
9 a36e8e0 0 2 cond wait arrived 3cpu
status 字段包含下列信息:running 、cond
wait 、IO
Idle 、IO
Idle 、sleeping
secs:
number_of_seconds 或 sleeping forever。为了提高性能,可以移除或减少标识为
sleeping forever 线程的数量。
有关处理器类型的信息,请参阅 GBase 8s 管理员指南 中的虚拟处理器和线程一章。
该命令有等同的 SQL 管理 API 函数。

Result set not open, operation not permitted
当应用程序尝试在 ResultSet.close() 方法后访问 ResultSet 方法,会发生此错误。