返回首页

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

更新日期:2024年09月11日


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

SESSION_LIMIT_LOCKS 配置参数指定非管理员用户在一个会话中可用锁的最大数目。
onconfig.std 值

如未出现
2147483647

500 至 2147483647
单位
在内部锁表中锁的数目
生效
编辑 onconfig 文件并重启数据库服务器之后。
用法
对于非管理员用户,
在一个会话中锁的最大数目可以是从 500 至 2147483647 范围内任何
指定的值。
如果指定的值在 1 至 500 的范围内,则对于非管理员用户有效的最大数目是 500。
如果指定的值为 0 或负数,则缺省值 2147483647 对所有用户都有效。
如果使用 onmode -wm 或 onmode -wf 来设置这个参数,则对于无效值显示一个适当的消
息。例如,
% onmode -wm SESSION_LIMIT_LOCKS=200

New value is invalid. Suggested value: (500).

SESSION_LIMIT_LOCKS 设置不可限制拥有管理权限的用户在会话中允许的锁数目,诸如用
户 gbasedbt 或 DBSA 用户,缺省情况下,允许其每会话的最大值总是 2147483647 个锁。
对于管理员的大的最大锁限制,通常不必设置这个参数,或设置相应的 SQL 的 SET
ENVIRONMENT 语句的 IFX_SESSION_LIMIT_LOCKS 会话环境选项。
然而,在要求非常大量锁的数据处理上下文中,管理员可能设置 SESSION_LIMIT_LOCKS 为
一个值,以图降低普通用户在并发会话中用尽数据库服务器锁资源的风险,由此妨碍大量
密集锁操作。
重要:
在可重复的读隔离级别中,因为要求锁的活动集中的每一行,请小心设置服务器上锁的限
制过低。类似地,设置锁限制过小可妨碍 Enterprise
Replication 任务,或妨碍非 DBSA
用户发出的 cdr 命令。

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

这部分包含有关创建具有和不具有缺省页大小的标准和临时数据库空间的信息,创建数据
库空间时在数据库空间中为表空间 tblspace 指定第一个和下一个扩展数据块大小的信
息,以及向数据库空间或 BLOB 空间添加块的信息。
有关监视数据库空间的信息,请参阅监视存储空间。

创建使用缺省页大小的数据库空间
可以使用 onspaces 或 ON-Monitor 创建标准数据库空间和临时数据库空间。
有关创建具有非缺省页大小的数据库空间的信息,请参阅创建具有非缺省页大小的数据库
空间。
任何新添加的数据库空间及其镜像(如果存在一个镜像)立即可用。如果您使用镜像,那
么可在创建数据库空间时对其制作镜像。镜像可立即生效。
要使用 onspaces 创建标准数据库空间:

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 189 -
1. 在 UNIX™ 上,您必须以用户 gbasedbt 或 root 身份登录来创建数据库空间。
2. 请确保数据库服务器处于联机、管理或静默方式中。
3. 按分配磁盘空间中所述,为数据库空间分配磁盘空间。
4. 要创建数据库空间,请使用 onspaces -c -d 选项。
KB 是 -s size 和 -o offset 选项的缺省单位。 要将 KB 转换为 MB,可将该单
位数量乘以 1024(例如,10 MB = 10 * 1024 KB)。
如果要创建具有非缺省页大小的数据库空间,请参阅创建具有非缺省页大小的数据
库空间以获取有关附加 onspaces 选项的信息。
5. 如果不想为数据库空间中的表空间 tblspace 指定第一个和下一个扩展数据块大小,
请转至 6。
如果想要为数据库空间中的表空间 tblspace 指定第一个和下一个扩展数据块大
小,表空间为表空间 tblspace 指定第一个和下一个扩展数据块大小中的其他信
息。
6. 在创建数据库空间之后,必须对根数据库空间和新数据库空间执行 0 级备份。
以下示例显示了如何在 UNIX 上使用原始磁盘空间创建 10 MB 镜像数据库空间
dbspce1,对主块和镜像块的偏移量均为 5000 KB。
onspaces -c -d dbspce1 -p /dev/raw_dev1 -o 5000 -s 10240 -m /dev/raw_dev2 5000
有关使用 onspaces 创建数据库空间的更多信息,请参阅数据库空间和《GBase 8s 管理员
参考》中有关 onspaces 的信息。
要使用 ON-Monitor 创建数据库空间 (UNIX):
1. 选择数据库空间 > 创建选项。
2. 在字段数据库空间名称中输入新数据库空间的名称。
3. 如果您希望为初始数据库空间块创建镜像,请在镜像字段中输入 Y。 否则,输入
N。
4. 如果您正在创建的数据库空间是临时数据库空间,请在临时字段输入 Y。 否则,
输入 N。
5. 如果要为标准数据库空间指定页大小,请在页大小字段中输入大小(以 KB
计)。大小必须为根数据库空间页大小的倍数。有关指定页大小的更多信息,请
参阅创建具有非缺省页大小的数据库空间。
数据库空间内的所有表、索引以及其他对象都将使用指定大小的页。
6. 在主块部分的完整路径名字段中输入数据库空间初始主块的完整路径名。
7. 在偏移量字段中指定偏移量。
8. 在大小字段中输入块的大小(以 KB 计)。
9. 如果要对该数据库空间制作镜像,请在屏幕的镜像块部分输入完整路径名、大小
和(可选)偏移量。
有关更多信息,请参阅《GBase 8s 管理员参考》中的 ON-Monitor 主题。
为表空间 tblspace 指定第一个和下一个扩展数据块大小

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 190 -
如果要减少表空间 tblspace 扩展数据块数,并降低发生必须将表空间 tblspace 扩展数据
块放入非主块的情况的频率,可以指定第一个和下一个扩展数据块大小。 (主块为数据
库空间中的初始块。)
可选择性地指定第一个扩展数据块大小、下一个扩展数据块大小,以及第一个和/或下一个
扩展数据块大小。如果不为表空间 tblspace 指定第一个或下一个扩展数据块大小,那么
GBase 8s 将使用现有的缺省扩展数据块大小。
可使用 TBLTBLFIRST 和 TBLTBLNEXT 配置参数为表空间 tblspace指定第一个或下一
个扩展数据块大小,该表空间位于在初始化服务器时创建的根数据库空间中。
可使用 onspaces 实用程序为非根数据库表空间中的表空间 tblspace 指定第一个和下一个
扩展数据块大小。
创建数据库空间时,可以仅指定第一个和下一个扩展数据块大小。创建数据库空间后,不
能改变第一个和下一个扩展数据块大小的规范。另外,您还不能指定临时数据库空间、智
能大对象空间、BLOB 空间或外部空间的扩展数据块大小。创建数据库空间之后,您将无
法改变第一个和下一个扩展数据块大小的规格。
要指定第一个和下一个扩展数据块大小,请执行以下操作:
1. 确定在表空间 tblspace 中所需的总页数。
页数等于表数 + 拆离索引数 + 可能位于数据库空间中的表分段数 + 表空间 tblspace 的一个
页面。
2. 计算页数所需的 KB 数。
此数字将取决于系统上的一个页面的 KB 数。
3. 通过考虑在创建数据库空间期间分配的表空间 tblspace 的所有扩展数据块的重要
性,以及是否必须连续分配这些扩展数据块来确定系统上的空间管理需求。
其中,最重要的就是第一个扩展数据块大小必须更大。如果不是很在意辅助块中存在不连 续扩
展数据块,那么第一个和下一个扩展数据块大小可以小一些。
4. 如下所示,指定扩展数据块大小:
o 如果空间需求适用于根数据库空间,那么在 TBLTBLFIRST 配置参数中指定第一个扩展数
据块大小并在 TBLTBLNEXT 配置参数中指定下一个扩展数据块大小。 然后初始化数据库
服务器实例。
o 如果空间需求适用于非根数据库空间,那么通过使用 onspaces 实用程序在命令行上指示第
一个和下一个扩展数据块大小从而创建数据库空间。
扩展数据块大小必须以 KB 计,并且必须是页大小的倍数。指定第一个和下一个扩展数
据块大小时,请遵循以下指南:
扩展数据块的类型
最小大小
最大大小
非根数据库空间中的第一个
扩展数据块
相当于 50 页(以 KB 指
定)。这是系统缺省值。 例
如,对于 2 KB 页面系统,
最小长度为 100。
初始块的大小,减去任何系
统对象(如保留页、数据库
表空间,以及物理和逻辑日
志)所需的空间。

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 191 -
扩展数据块的类型
最小大小
最大大小
根数据库空间中的第一个扩
展数据块
相当于 250 页(以 KB 指
定)。这是系统缺省值。
初始块的大小,减去任何系
统对象(如保留页、数据库
表空间,以及物理和逻辑日
志)所需的空间。
下一个扩展数据块
为系统上磁盘页大小的 4
倍。 在任何类型的数据库空
间上,缺省值均为 50 页。
最大块大小减去 3 页。
可使用以下 onspaces 实用程序和-ef 和 -en 选项为非根数据库表空间中的表空间
tblspace 指定第一个和下一个扩展数据块大小:

第一个扩展数据块大小:-ef size_in_kbytes

下一个扩展数据块大小:-en size_in_kbytes
例如,可以指定:
onspaces -c -d dbspace1 -p /usr/data/dbspace1 -o 0 -s 1000000 -e 2000 -n 1000
可使用 Oncheck -pt 和 oncheck -pT显示表空间 tblspace 的第一个和下一个扩展数据块大
小。
如果正在使用数据复制并且在主数据库服务器上创建了数据库空间,那么第一个和下一个
扩展数据块大小将通过 ADDCHK 日志记录传递到辅助数据库服务器。
有关 onspaces 实用程序、oncheck 命令以及为表空间 tblspace 指定第一个和下一个扩展
数据块大小的更多信息,请参阅《GBase 8s 管理员参考》。

创建具有非缺省页大小的数据库空间
如果需要的密钥长度比缺省页大小可提供的更长,那么可以指定标准或临时数据库空间的
页大小。
根数据库空间为缺省页大小。如果要指定页大小,该大小必须为缺省页大小的整数倍,且
不能超过 16 KB。
对于具有足够存储空间的系统,较大页大小的性能优势包括:

减少 B 型树索引的深度(甚至对于较小的索引键)。

减少检查点时间(通常出现在使用较大页大小时)。
其他的性能优势还体现在您可以:

将当前跨多个页(大小为缺省页大小)的长行分组到同一页上。

定义临时表的不同页大小,这样临时表具有单独的缓冲池。
使用 BUFFERPOOL 配置参数可创建与数据库空间的页大小相对应的缓冲池。(您可能
想要执行此操作来实现一种“专用缓冲池”。)
一个表可在一个数据库空间中,而该表的索引可在另一个数据库空间中。这些分区的页大
小可以不同。
如果想要为数据库空间指定页大小,请指向以下任务:

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 192 -
1. 请运行 onmode -BC 2 命令来启用大块方式。
缺省情况下,首次初始化或重新启动 GBase 8s 时,将启动 GBase 8s,并启用大
块方式。有关 onmode 实用程序的信息,请参阅《GBase 8s 管理员参考》。
2. 创建对应于数据库空间页大小的缓冲池。可使用 onparams 实用程序或
BUFFERPOOL 配置参数。必须在创建数据库空间之前执行此操作。
如果创建的数据库空间其页大小没有对应的缓冲池,那么 GBase 8s 将使用在
onconfig 配置文件中定义的缺省参数自动创建缓冲池。
无法使多个缓冲池具体相同的页大小。
3. 创建数据库空间时,定义数据库空间的页大小。可使用 onspaces 实用程序或 ON-
Monitor。有关更多信息,请参阅定义页大小。
例如,如果创建页大小为 6 KB 的数据库空间,那么必须创建大小为 6 KB 的缓冲池。如
果没有为新的缓冲池指定页大小,那么 GBase 8s会将操作系统缺省页大小(在大多数
UNIX™ 平台上为 2 KB)用作缓冲池的缺省页大小。
提示: 如果使用非缺省页大小,可能需要增大物理日志的大小。如果对非缺省页执行许多更新,那么可
能需要将物理日志大小增大 150% 到 200%。要调整物理日志,可能需要进行一些试验。可根据物理日
志触发器检查点的填充频率来按需调整物理日志的大小。
为非缺省页大小创建缓冲池
创建缓冲池时,可使用 BUFFERPOOL 配置参数或 onparams 实用程序来指定有关缓冲区
的信息(包括其大小)、指定缓冲池中 LRUS 的数量、指定缓冲池中缓冲区的数量,以
及的 lru_min_dirty 和 lru_max_dirty值。
使用 BUFFERPOOL 配置参数指定此信息。
BUFFERPOOL 配置参数由 onconfig.std 文件中的两行组成。
在 UNIX™ 系统上,这些行是:
BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.00,lru_max_dirty=60.50
BUFFERPOOL size=2K,buffers=50000,lrus=8,lru_min_dirty=50,lru_max_dirty=60
第一行指定了使用的缺省值,这些值是当您创建的数据库空间的页大小没有对应在启动数
据库服务器时创建的缓冲池时被使用的。缺省行之后的以下行指定了缓冲池的数据库服务
器缺省值。 这些值以数据库服务器的缺省页大小为依据。
使用 onspaces 实用程序添加具有不同页大小的数据库空间时,或者使用 onparams 实用
程序添加新的缓冲池时,将向 onconfig 文件的 BUFFERPOOL 配置参数添加一个新行。
每个缓冲池的页大小必须为您操作系统缺省页大小的倍数。以下示例显示了添加到
onconfig 文件中的第三个 BUFFERPOOL 行:
BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.00,lru_max_dirty=60.50
BUFFERPOOL size=2K,buffers=50000,lrus=8,lru_min_dirty=50,lru_max_dirty=60
BUFFERPOOL size=6K,buffers=3000,lrus=8,lru_min_dirty=50,lru_max_dirty=60

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 193 -
BUFFERPOOL 行中的字段不区分大小写,所以您可以指定 lrus、Lrus 或 LRUS)。这
些字段可按任何顺序显示。
如果没有为新的缓冲池指定页大小,那么 GBase 8s会将操作系统缺省页大小用作缓冲池
的缺省页大小。
如果 buffers 的值为零 (0),或者在 BUFFERPOOL 配置参数中缺少 buffers 的值,那么
GBase 8s 不会创建指定页大小的缓冲池。
重要: 使用BUFFERPOOL 配置参数输入的信息将取代先前使用不推荐的参数指定的任何信息。有关不
推荐的参数的更多信息,请参阅附录,其中包含《GBase 8s 管理员参考》中已终止的配置参数的信息。
下表为您使用 BUFFERPOOL 配置参数或 onparams 实用程序指定的值提供了说明。
字段
解释
值范围
size
指定页面中后跟后缀 K 的 KB 数。
大小可在 2K 或 4K 至 16 K
之间变化。2K 为缺省值。
buffers
指定页大小缓冲区的数量。
这是数据库服务器用户线程代表客户机
应用程序用于磁盘 I/O 的共享内存缓
冲区的最大数目。数据库服务器所需的
缓冲区数取决于应用程序。
例如,如果数据库服务器用了 90% 的
时间访问了 15% 的应用程序数据,那
么必须分配足够的缓冲区以保留该 15%
的数据。增加缓冲区数量可提高系统性
能。
缓冲区空间所需的物理内存百分比取决
于计算机上可用的内存量,以及用于其
他应用程序的内存量。对于具有大量可
用物理内存(4 千兆字节或以上)的系
统,缓冲区空间可达到物理内存的
90%。对于可用物理内存量较小的系
统,缓冲区空间的范围可以为物理内存
的 20% 到 25%。
必须在设置缓冲区空间 (buffers
*system_page_size) 后计算所有其他
的共享内存参数。
对于 UNIX 上的 32 位平台

页大小等于 2048 字节:
100 到 1,843,200 个缓冲区
(1843200 = 1800 *
1024)

页大小等于 4096 字节:
100 到 921,600 个缓冲区
(921,600 = ((1800 *
1024)/4096) * 2048 )
对于 64 位平台:100 到 2
31-
1 个缓冲区(对于 64 位平台
的实际值,请参阅发行说明。
Solaris 上缓冲区的最 大数为
536,870,912。)
lrus
在共享内存缓冲池中为页大小指定
LRU(最近最少使用的)队列的数目。
可调整 LRUS、lru_min_dirty 和
lru_max_dirty 值以控制共享内存缓冲
区每隔多少时间清空到磁盘一次。
将 LRUS 设置得过高可能导致页清除程
序活动过多。
1 到 128

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 194 -
字段
解释
值范围
lru_min_dirty 指定已修改的页占 LRU 队列的百分
比,达到该百分比时页清除将不再是必
需的。在某些情况下,页清除程序可能
会超出该点继续清除。
用于清空检查点之间缓冲池的 LRU 值
对于检查点性能不是特别重要。
lru_min_dirty 值通常仅对于维持足够
数量的干净页以供替换而言是必要的。
通过设置 LRU 清空参数以将
lru_min_dirty 设置为 70 来启动。
有关更多信息,请参阅用于清空检查点
之间缓冲池的 LRU 值。
0 到 100(允许小数值)
如果超过值的范围指定参数,
那么缺省值将被设置为

syslogmap 系统目录表包含分段存储信息。
表 21. SYSLOGMAP 表列描述

类型
解释
tabloc
INTEGER
表在其他数据库中位置的
代码
tabid
INTEGER
表的唯一标识代码
fragid
INTEGER
分段的标识代码
flags
INTEGER
分段声明中修饰符的位图

tabloc 列的简单索引以及 tabid 和 fragid 列的组合索引不允许重复值。