版本:7.0.0

GUC参数 ​

_INDEX_BUFFER_SIZE ​

参数描述
用于存储索引热点页(当前主要指B树索引根节点页面)只读副本的全局缓存。该缓存旨在减少对高并发访问索引页的争用,从而提升系统并发性能。

取值范围

  • 最小值:16K (16,384 字节)

  • 最大值:32T (35,184,372,088,832 字节)

  • 单位:字节

默认值
8M (8,388,608 字节)

_OPT_CBO_STAT_SAMPLING_LEVEL ​

参数描述 设置动态采样等级,用于优化器收集统计信息。该参数决定了优化器在缺失统计信息或统计信息过时的情况下生成执行计划时,是否采用动态采样以及采样的比率大小。

取值范围

  • 整数

  • 最小值:0,表示关闭动态采样功能。

  • 最大值:9

默认值0

_PREFETCH_ROWS ​

参数描述
设置在数据检索过程中,系统提前预读取到缓存中的行数。

取值范围

  • 整数

  • 最小值:1

  • 最大值:2^32 - 1

默认值
100

CHECKPOINT_PERIOD ​

参数描述
设置系统执行两次checkpoint之间的最大时间间隔。当达到此预设的时间间隔时,将自动触发一次checkpoint。

特性

  • 别名:CHECKPOINT_TIMEOUT(不建议修改)。

取值范围

  • 整数,单位:秒

  • 最小值:1

  • 最大值:2^32 - 1

默认值
300

CHECKPOINT_PAGES ​

参数描述
设定触发checkpoint的脏页数量阈值。当数据库缓冲区中的脏页数量达到此设定值时,将自动触发一次checkpoint。

特性

  • 别名:CHECKPOINT_INTERVAL(不建议修改)。

取值范围

  • 整数,单位:页

  • 最小值:1

  • 最大值:2^32 - 1

默认值
100,000

REACTOR_THREADS ​

参数描述
设置用于处理I/O侦听的线程数量。这些线程负责接收并分发来自客户端的连接请求和网络数据包。

配置建议

  • 推荐值:OPTIMIZED_WORKER_THREADS / 50。

  • 风险提示:

    1. 设置过大会额外消耗CPU、内存及线程资源。在系统资源不足时,可能导致数据库运行异常。

    2. 设置值不允许大于Agent线程的总数。

取值范围
[1, 10000]

默认值
1

OPTIMIZED_WORKER_THREADS ​

参数描述
设置数据库最优工作线程的数量。此参数决定了系统在会话与线程之间是采用绑定模式还是分离模式。

工作模式

  • 当会话数 > OPTIMIZED_WORKER_THREADS,系统切换为会话和线程分离模式,否则为绑定模式。

与 MAX_WORKER_THREADS 的关系

  1. 启动时:若配置文件中 OPTIMIZED_WORKER_THREADS > MAX_WORKER_THREADS,则自动将 MAX_WORKER_THREADS 调整为与本参数值相等。

  2. 启动后:

    • 可在线将其设置为小于或等于当前 MAX_WORKER_THREADS的任意值。

    • 若尝试设置为大于当前 MAX_WORKER_THREADS 的值,系统将报错。

  3. 重启后:MAX_WORKER_THREADS 将保持原值,不会因本参数的修改而改变。

配置建议与约束

  • 最大值上限:不建议超过 SESSIONS 参数的配置值,否则会造成线程资源闲置浪费。

  • 资源消耗:

    • 每个工作线程约占用 0.5 M+ 的内存。

    • 设置过大会显著增加 CPU 和内存开销,在资源不足时可能导致数据库异常。

  • 绝对上限:因受安全函数内存限制(传入内存上限为2G),本参数最大值为 10000。

取值范围
[2, 10000]

默认值
100

MAX_WORKER_THREADS ​

参数描述
设置数据库工作线程池的最大容量。

与 OPTIMIZED_WORKER_THREADS 的关系

  1. 数值关系:本参数值必须大于或等于 OPTIMIZED_WORKER_THREADS。若尝试将其设置为小于当前 OPTIMIZED_WORKER_THREADS 的值,系统将报错。

  2. 线程扩展:当活跃会话数超过 OPTIMIZED_WORKER_THREADS 时,工作线程数可以从最优值继续扩展,直到达到本参数设定的最大值。即可额外扩展的线程数为 MAX_WORKER_THREADS - OPTIMIZED_WORKER_THREADS。

配置建议与约束

  • 最大值参考:OPTIMIZED_WORKER_THREADS 不建议超过 SESSIONS 参数的配置值,否则会造成线程资源浪费。

  • 资源消耗:

    • 每个工作线程约占用 0.5 M+ 的内存。

    • 设置过大会显著增加 CPU 和线程管理开销,在资源不足时可能导致数据库异常。

  • 绝对上限:受系统安全函数内存限制,本参数最大值为 10000。

取值范围
[2, 10000]

默认值
100

STATS_LEVEL ​

参数描述
控制是否收集并统计对表进行的DML(数据操作语言)操作信息。

特性

  • 别名:STATISTICS_LEVEL(不建议修改)。

取值范围与行为

| 取值 | 含义与行为 | | | | | TYPICAL 或 ALL | 启用表监控(Table-monitoring)。
• 系统将收集对表执行的DML操作的统计信息。
• 收集到的统计信息会在约 15分钟后展示在系统表 SYS_DML_STATS中。 | | BASIC | 禁用Table-monitoring。
• 不收集上述DML操作统计信息。 |

默认值
TYPICAL

use_bison_parser ​

参数说明:是否使用Bison解析器解析普通SQL语句。

该参数设置后立即生效,请参考配置数据库系统参数中对应设置方法进行设置。

取值范围:布尔型

  • true表示使用Bison解析器。
  • false表示使用原生解析器。
  • on/off仅在Bison解析器已启用时可用于设置该参数。

默认值:false

说明

普通SQL语句中,以f/d结尾的浮点数字面量由该参数控制。

BUF_POOL_NUM ​

参数描述
设置数据缓冲区(data buffer)的分区数量。

取值范围
[0, 1024]

默认值
0

特殊说明

  • 当该参数未配置或显式设置为 0 时,系统会根据 DATA_BUFFER_SIZE 的实际值自动计算并调整一个合理的分区数。

BUFFER_PAGE_CLEAN_PERIOD ​

参数说明:控制 Page Clean 定时任务的执行间隔(单位:秒)。
Page Clean 是一种快速清理 Buffer 中脏页的机制。在常规业务场景中,通常无需启用该定时任务,脏页清理可由 Buffer 淘汰机制自动触发。但在如 TPC-C、Sysbench 等持续高负载的性能测试场景中,若磁盘 I/O 能力较强,可开启此定时任务以加速脏页刷盘。

取值范围:整数,[0, 2³² − 1]
默认值:0(表示不启用定时清理)

INTERCONNECT_CHANNEL_NUM ​

参数说明:配置内部通信(MES)连接通道的数量。
取值范围:整数,[1, 32]
默认值:4

LOG_BUFFER_COUNT ​

参数说明:设置 Log Buffer 的数量。
取值范围:整数,(0, 16]
默认值:4

LOG_BUFFER_SIZE ​

参数说明:定义每个 Log Buffer 的大小,用于缓存 REDO 日志。
适当增大该值有助于提升数据写入性能,应根据实际可用内存进行调整。

取值范围:整数,[1M, 128M](单位:字节)
默认值:4M

TIMED_STATS(别名:TIMED_STATISTICS,不推荐使用) ​

参数说明:控制是否收集与时间相关的统计信息。

  • TRUE:收集并存储时间相关的统计信息(可查询 DV_SYS_STATS 动态视图或跟踪文件)
  • FALSE:所有时间相关统计值置为 0

默认值:TRUE

SQL_STAT ​

参数说明:控制 SQL 性能统计视图的开关,参数说明范围为整个数据库实例。

  • TRUE:开启 SQL 性能统计
  • FALSE:关闭 SQL 性能统计

默认值:TRUE

MES_ELAPSED_SWITCH ​

参数说明:是否启用 MES 内部通信的时延统计功能。

  • TRUE:开启时延统计
  • FALSE:关闭时延统计

默认值:FALSE

SESSIONS ​

参数说明:设置数据库实例中并发会话(Session)的最大数量。实际运行时的并发会话数不得超过此值。

会话组成说明 ​

  • 系统预留会话:
    • 固定 32 个:用于内部任务(如资源回收、Checkpoint 等)
    • PARALLEL_MAX_THREADS 个:用于 SQL 并行执行框架
  • EMERG 用户会话:数量由 SUPER_USER_RESERVED_SESSIONS 参数控制
  • 普通用户会话:
    • 至少需配置 1 个,否则数据库无法启动
    • 未开启并行回放时:
      普通用户会话数 = SESSIONS − 32 − PARALLEL_MAX_THREADS − SUPER_USER_RESERVED_SESSIONS
    • 开启并行回放时(仅备机):
      可用会话数 = SESSIONS − 32 − PARALLEL_MAX_THREADS − SUPER_USER_RESERVED_SESSIONS − LOG_REPLAY_PROCESSES − REPLAY_PRELOAD_PROCESSES
      (主机行为与未开启并行回放时一致)

配置建议 ​

  • 一般建议设为 OPTIMIZED_WORKER_THREADS × 1.2
  • 在 DN 节点上,建议 SESSIONS < OPTIMIZED_WORKER_THREADS

修改生效方式 ​

  • 立即生效:新值 ≥ 初始值 init_count 且 ≤ 1.5 × init_count
  • 需重启生效:新值 < init_count 或 > 1.5 × init_count(但 ≤ 16320)

    其中 init_count 为数据库启动时的 SESSIONS 值。系统默认预留 50% 的扩容空间用于动态调整,因此实时调整仅支持扩容,不支持缩容。

注意事项 ​

  1. 修改 SUPER_USER_RESERVED_SESSIONS 后需重启生效。
  2. 调整 SESSIONS 前,请确保 _MAX_RM_COUNT 满足约束条件。
  3. 若 SESSIONS > 13600,则 _MAX_RM_COUNT 必须为 64 的倍数、大于 SESSIONS,建议设为 16320。

取值范围:整数,
下限 = 33 + PARALLEL_MAX_THREADS + SUPER_USER_RESERVED_SESSIONS,
上限 = 16320
默认值:200

XA_SUSPEND_TIMEOUT ​

参数描述

设置 XA 事务分支挂起后的默认超时时间,单位为秒。挂起分支超过其保存的超时时间后,XA 资源回收检查会对其执行回滚并释放资源。该参数也用于未显式指定专用超时时间时,恢复(resume)挂起 XA 分支的等待。

XA 接口显式指定有效的专用超时时间时,优先使用接口提供的值。该参数不是普通 SQL 执行超时,也不是所有 XA 事务阶段的统一超时。

取值范围

  • 整数,[1, 3600],单位为秒;参数视图中表示为 (0,3600]。
  • 0 不表示无限等待,设置时会被拒绝。

默认值

60

生效方式

立即生效。新发起且采用默认超时的 XA 操作读取新值;已保存超时时间的事务分支不会因为修改该参数而统一重置其超时时间。

配置建议

  • 根据事务管理器调度、网络延迟和业务允许的挂起时长设置,避免过小导致正常挂起分支被回滚。
  • 过大的值会延长挂起事务占用资源的时间。调整前检查 DV_GLOBAL_TRANSACTIONS,并与事务管理器的超时策略保持一致。
  • 使用 SCOPE=MEMORY 可验证当前实例中的修改;持久化方式参见配置数据库系统。

ARCH_CLEAN_IGNORE_BACKUP ​

参数描述

控制自动清理归档日志时,是否忽略备份恢复点对可清理归档范围的限制。

  • TRUE:检查归档是否可清理时,不再要求其日志点早于备份恢复点。
  • FALSE:同时检查恢复点和备份恢复点,保留不满足备份恢复点条件的归档。

该开关不会跳过所有备份保护:正在进行的备份、分阶段备份所需归档以及本地恢复点等仍有独立检查。

取值范围

布尔型,FALSE、TRUE。

默认值

TRUE

生效方式

立即生效。自动清理是否执行,还取决于归档模式、MAX_ARCH_FILES_SIZE、清理上下限及归档是否满足清理条件。

配置建议

  • 需要按备份恢复点保留归档时设置为 FALSE,并配合备份计划、归档保存策略和容量监控。
  • 设置为 TRUE 前,应确认需要的备份恢复链已有可靠的归档保留措施;不能将它理解为无条件删除归档的开关。

ARCH_CLEAN_IGNORE_STANDBY ​

参数描述

控制归档清理受备库恢复进度限制时,是否允许进一步按本地恢复点清理。

  • FALSE:不启用忽略备库恢复点的额外清理步骤。
  • TRUE:先按正常恢复点约束清理;若归档大小仍超过清理上限,且本地恢复点与考虑备库后的最小恢复点不同,则允许继续按本地恢复点清理,目标为清理上限对应的容量。

该开关不会绕过本地恢复点及其他仍然适用的归档保护条件,也不表示设置后立即执行一次清理。

取值范围

布尔型,FALSE、TRUE。

默认值

FALSE

生效方式

立即生效。

配置建议

  • 正常主备部署保持 FALSE,为备库追赶保留需要的归档。
  • 设置为 TRUE 可能使落后备库缺少追赶所需归档。仅在评估容量压力、备库恢复方案及补充归档或重建代价后使用。
  • 结合 MAX_ARCH_FILES_SIZE、ARCH_CLEAN_UPPER_LIMIT 和实际备库延迟评估,不能仅依据参数设置成功判断备库恢复链是否完整。

ARCH_CLEAN_LOWER_LIMIT ​

参数描述

设置自动归档清理的目标低水位,按 MAX_ARCH_FILES_SIZE 的百分比计算:

目标容量 = MAX_ARCH_FILES_SIZE × ARCH_CLEAN_LOWER_LIMIT / 100

触发自动清理后,系统尝试按归档文件粒度清理至目标容量以下。恢复、备份等保护条件可能使目标无法达到;该参数不表示必须精确保留指定字节数。

取值范围

  • 整数,[0, 100],单位为百分比。
  • 必须满足 ARCH_CLEAN_LOWER_LIMIT <= ARCH_CLEAN_UPPER_LIMIT;设置时与当前运行中的上限比较,两个值可以相等。
  • 设置为 0 也不会绕过归档的可清理性检查。

默认值

30

生效方式

立即生效。

配置建议

  • 与上限配合形成适当间隔,平衡清理频率和归档保留量。调低下限会使一次清理尝试回收更多归档,调高则倾向于保留更多归档。
  • 调整时始终保持下限不大于上限。下限不是整个文件系统的已用空间百分比。
  • MAX_ARCH_FILES_SIZE=0 时,自动清理分支不执行;不能仅调整下限就期待发生清理。

ARCH_CLEAN_UPPER_LIMIT ​

参数描述

设置触发自动归档清理的高水位,按 MAX_ARCH_FILES_SIZE 的百分比计算:

触发容量 = MAX_ARCH_FILES_SIZE × ARCH_CLEAN_UPPER_LIMIT / 100

当受管理的归档大小达到或超过该高水位,且满足自动清理的其他前提时,系统尝试清理归档。通常以 ARCH_CLEAN_LOWER_LIMIT 对应容量为目标,但仍须满足恢复、备份等保护条件,因此该高水位不是无条件保证的容量硬上限。

取值范围

  • 整数,[1, 100],单位为百分比。
  • 必须满足 ARCH_CLEAN_UPPER_LIMIT >= ARCH_CLEAN_LOWER_LIMIT;设置时与当前运行中的下限比较。

默认值

85

生效方式

立即生效。

配置建议

  • 调高上限会推迟达到清理触发条件,应预留足够磁盘空间;调低上限前,应评估备份和备库对现有归档的需求。
  • 根据可用于归档的实际空间设置 MAX_ARCH_FILES_SIZE,同时为其他数据库文件和持续产生的日志预留容量。高水位不是文件系统整体使用率。
  • MAX_ARCH_FILES_SIZE=0 时不执行该自动清理分支;归档模式未开启或归档受保护时,不能仅凭阈值推断清理结果。

ARCH_FILE_SIZE ​

参数描述

设置 DBStor 归档路径中单个归档文件的大小阈值,用于归档写入及结束当前归档文件的判断。

该参数的作用与存储后端有关。普通文件归档路径根据 Redo 日志文件状态选择归档对象,不能仅凭该参数的值推断文件模式下一定按该大小切分归档文件。归档总容量另由 MAX_ARCH_FILES_SIZE 相关逻辑管理。

取值范围

  • 整数大小,[512M, 10G],基本单位为字节,可使用大小单位后缀。
  • M、G 按 1024 进制计算,下限为 536870912 字节,上限为 10737418240 字节。

默认值

10G

生效方式

立即更新内存中的归档大小阈值,不会重写已有归档文件;具体归档行为由适用的存储路径在后续处理时使用该值。

配置建议

  • 在适用的存储后端上,根据归档文件管理、备份传输和恢复需求选择大小,并结合 ARCH_SIZE 及归档时间策略评估。
  • 试设可采用 ALTER SYSTEM SET ARCH_FILE_SIZE='1G' SCOPE=MEMORY;。设置前记录原值,验证后恢复;参数读回成功不等同于已经验证实际文件切分行为。

ARCH_SIZE ​

参数描述

设置 DBStor 归档路径按待归档 Redo 数据量触发归档的大小阈值。存在待归档数据时,如果数据量尚未达到该值且归档时间阈值也未到,则继续等待;数据量或时间条件满足后可进入归档处理。

时间条件通常由 ARCH_TIME 控制,逻辑复制路径使用专用归档间隔。此外,仍须满足归档空间及内部检查间隔等条件。该参数不是归档目录总容量,也不是单个归档文件大小阈值。

取值范围

  • 整数大小,[0, 512M],基本单位为字节,可使用大小单位后缀。
  • 参数视图的范围字符串为 [0,512MB];内核校验的上限是 536870912 字节,即 512 × 1024 × 1024。
  • 0 不表示关闭归档:存在待归档数据时,大小阈值不再要求继续等待,但其他检查条件仍然适用。

默认值

512M

生效方式

立即更新内存中的归档触发阈值,由适用的归档路径在后续检查时使用。

配置建议

  • 在适用的存储后端上,较小的值可能增加归档处理频次,应结合日志产生速率和归档时间策略调整。
  • 试设可采用 ALTER SYSTEM SET ARCH_SIZE='256M' SCOPE=MEMORY;。测试时记录原值并恢复,不需要通过生成大量日志来验证设置是否被接受。
  • 文件模式下应区分参数设置验证与 DBStor 归档触发功能验证;参数视图可读回新值并不证明执行了后者。

USE_RBP ​

参数描述
RBP 总开关。开启后,数据库可与 RBPS 配合保存和读取恢复所需页面,用于缩短实例或节点故障后的恢复时间。

版本说明

本节 RBP 参数定义以 oGRAC 7.0.0 实现为依据。在 openEuler 20.03/aarch64 的 7.0.0 发行包中,DV_PARAMETERS 实测包含 USE_RBP、RBP_PORT 和 RBP_RT_ANALYSIS;此前测试的 7.0.0-RC3 发行包未检出这三项。使用其他发行包前,应先在实际实例的参数视图中核对可用项。

默认关闭:未部署 RBPS 或不需要恢复加速时,关闭该能力可以避免引入额外资源开销。

取值范围

  • 布尔型。
  • TRUE、ON、1:启用 RBP。
  • FALSE、OFF、0:关闭 RBP。
  • 建议统一使用 TRUE / FALSE,便于与参数视图对照。

默认值
FALSE

生效方式
重启生效。可用 SCOPE=PFILE 写入参数文件,按部署流程重启后检查运行值;MODIFIABLE=TRUE 不表示无需重启即可启用 RBP。

配置建议

  • 未部署 RBPS 或只进行普通恢复时,保持默认值。
  • 需要使用 RBPS 进行恢复加速时,所有相关数据库节点均应设置为 TRUE,并确认 RBPS 服务已部署且网络可达。

RBP_FOR_RECOVERY ​

参数描述
控制恢复阶段是否允许使用 RBP 加速。该参数需要与 USE_RBP=TRUE 同时成立;当 RBPS 可用且满足恢复条件时,数据库可使用 RBPS 中的页面缩短恢复时间。

默认开启:用户显式开启 RBP 后,通常希望恢复阶段直接使用加速能力;同时保留独立开关,便于临时关闭恢复加速。

取值范围

  • TRUE:恢复阶段允许使用 RBP。
  • FALSE:恢复阶段不使用 RBP。

默认值
TRUE

生效方式
重启生效。

配置建议

  • 常规恢复加速场景保持默认值。
  • 需要临时关闭 RBP 恢复加速时,可设置为 FALSE 后重启实例。

RBP_IP ​

参数描述
配置数据库连接 RBPS 的目标地址列表,最多可配置 8 个 IPv4 地址。

在两节点 DTC 部署中,数据库侧通常配置为连接对端 RBPS。RBP 通信建议与业务访问使用不同网卡。

取值范围

  • 非空字符串。
  • 可配置英文逗号分隔的 IPv4 地址列表,最多 8 个地址。
  • 地址列表不支持空项或分号分隔。

默认值
127.0.0.1

生效方式
重启生效。

配置建议

  • 根据部署规划填写 RBPS 路由目标地址,例如 node1_rbp_ip,node0_rbp_ip;配置时需将示例占位符替换为实际 IPv4 地址。
  • 按节点编号配置地址列表时,确保地址顺序与部署规划中的节点和 RBPS 路由关系一致。
  • 如果 RBP 使用独立网卡,建议配置 RBP 网络上的地址,而不是业务访问地址。

RBP_PORT ​

参数描述
配置数据库连接 RBPS 的 TCP 端口。该端口必须与 RBPS 服务端 rbps.conf 中的监听端口一致。

取值范围
整数,[1024, 65535]

该参数指定数据库连接 RBPS 的目标 TCP 端口,不是数据库 SQL 客户端监听端口。

默认值
2611

生效方式
重启生效。

配置建议

  • 如需变更端口,需要同步修改所有数据库节点的 RBP_PORT 和所有相关 RBPS 的服务端监听端口,并重启对应组件。
  • 写入参数文件后,应在重启及服务端端口调整完成后核对运行值和连通性;仅设置成功不能证明数据库已连接到新的 RBPS 端口。

LOCAL_RBP_HOST ​

参数描述
配置当前数据库实例上报给 RBPS 的本地地址。该参数用于 RBPS 侧日志、状态记录和读写阶段通知中识别数据库节点来源;它不决定数据库连接哪个 RBPS,连接目标由 RBP_IP 决定。

默认值为本机回环地址。

取值范围
非空字符串。该参数仅支持配置单个 IPv4 地址,不支持主机名、逗号分隔列表或分号分隔列表。

默认值
127.0.0.1

生效方式
重启生效。

配置建议

  • 集群部署中配置为当前数据库节点对 RBPS 可识别、可区分的 RBP 通信 IPv4 地址。
  • 如果 RBP 使用独立网卡,建议配置独立网卡对应的地址。

RBP_RT_ANALYSIS ​

参数描述
控制是否开启 DTC RBP 运行期分析能力。开启后,数据库会在运行期间提前准备部分恢复所需信息,从而减少故障发生后的恢复准备时间。

默认关闭:运行期分析会引入额外资源开销,适合在明确需要缩短故障恢复时间的场景中按需开启。

取值范围

  • 布尔型。
  • TRUE、ON、1:开启运行期分析。
  • FALSE、OFF、0:关闭运行期分析。

默认值
FALSE

生效方式
重启生效。

配置建议

  • 该参数需要 USE_RBP=TRUE、RBP_FOR_RECOVERY=TRUE 才有实际意义。
  • oGRAC 7.0.0 的运行期分析启用检查还要求 DTC 集群模式、节点数为 2,并且未启用 DBStor。单独将本参数设为 TRUE 不足以证明运行期分析线程已经工作。
  • 对运行期资源消耗敏感,或不属于 DTC 恢复加速场景时,保持默认值。

RBP_RT_PARSE_WORKERS ​

参数描述
配置 DTC RBP 运行期分析的解析工作线程数量。

默认值为 2 :在两节点场景中,两个解析工作线程可以兼顾分析效率和 CPU 占用,避免初始部署时引入过多后台开销。

取值范围
整数,[1, 8]

默认值
2

生效方式
重启生效。

配置建议

  • 如果运行期分析处理速度不足,且 CPU 资源充足,可适当调大。
  • 如果 CPU 压力较高或分析压力较小,可保持默认或调低。

RBP_RT_PAGE_OWNER_WORKERS ​

参数描述
配置 DTC RBP 运行期分析的页面归属处理工作线程数量。

默认值为 4 :页面归属处理通常需要比解析阶段更高的并发度,适当增加工作线程可以降低恢复信息处理积压风险。

取值范围
整数,[1, 8]

默认值
4

生效方式
重启生效。

配置建议

  • 一般保持默认值。
  • 如果运行期分析处理积压明显,且内存和 CPU 资源充足,可适当调大。

ENABLE_PARA_LOG_FLUSH ​

参数描述
配置是否开启并行持久化REDO,需要在安装数据库时指定。开启后安装数据库时会自动根据当前主机环境的NUMA Cluster数量创建Redo文件。Redo文件数量等于(NUMA Cluster数量 * Redo Number * 2)。比如一个40个Cluster的主机,安装时设置Redo file number为3,如果安装双节点环境,需要40 * 3 * 2 = 240个Redo file。开启后会创建多个刷盘线程刷盘。相对地会占用较多的系统资源。

默认不开启。

取值范围

  • TRUE:启用并行刷盘。
  • FALSE:关闭并行刷盘。

默认值
FALSE

生效方式
安装时指定。

配置建议

  • 一般保持默认值。

ENABLE_PARA_LOG_DFX ​

参数描述
配置是否开启并行持久化REDO运行时的详细运行日志打印,需要配合开启并行刷盘一起使用。打开后会在ogracd.rlog中打印更详细的运行日志,记录并行刷盘时redo写入和flush的详细信息,方便运维人员监控和进行问题分析。

默认不开启。

取值范围

  • TRUE:启用并行刷盘详细日志打印。
  • FALSE:关闭并行刷盘详细日志打印。

默认值
FALSE

生效方式
打开并行刷盘的前提下,修改后实时生效。

配置建议

  • 一般保持默认值。

RBP_ASSEMBLE_MAX_SCAN ​

参数描述
配置 RBP 写入页面时单次最多扫描的候选项数量。适当放大该值可以提高页面批量发送效率,但也可能增加扫描开销。

默认值为 300 :该值可以在批量发送效率和运行期开销之间取得折中,适合大多数场景。

取值范围
整数,[100, 1000000]

默认值
300

生效方式
立即生效。

配置建议

  • 一般保持默认值。

数据库参数配置说明 ​

1. 全局共享内存 ​

TEMP_BUFFER_SIZE ​

作用:配置临时缓冲区(Temporary Buffer)的总大小,用于支持物化表创建、数据排序等临时操作。

  • 系统在启动时会根据 TEMP_BUFFER_SIZE(总大小)和 TEMP_POOL_NUM(临时池数量)将缓冲区均分为多个临时池(Temp Pool)。
  • 单个临时池的最小大小为 2 GB。若 TEMP_BUFFER_SIZE < 2 GB,则仅创建一个临时池。
  • 支持在线动态调大:
    • 每次扩展的空间必须 ≥ temp_buffer_extend_threshold(临时缓冲区扩展阈值)。
    • 新增临时池数量 = MIN(扩展值 / 单个临时池大小, 1)。
    • 临时池总数上限为 128。
  • 不支持在线调小:若需减小该参数,需通过修改数据库配置文件或使用 SCOPE=PFILE 方式修改,并重启数据库生效。

取值范围:整数,[32M, 4T](单位:Byte)
默认值:32M
安装脚本默认值:使用 install.py 安装时,自动设为 1G

DATA_BUFFER_SIZE ​

作用:设置数据缓冲区(Data Buffer)的大小,用于缓存最近访问的数据页,提升数据访问效率。

  • 应根据服务器物理内存合理配置。
  • 重启生效,当前版本不支持在线调大或在线调小。执行 ALTER SYSTEM SET DATA_BUFFER_SIZE = ... 后,SHOW PARAMETERS DATA_BUFFER_SIZE 中的配置值 VALUE 可以更新,但当前进程使用的 RUNTIME_VALUE 不会改变,EFFECTIVE 显示为 reboot;重启数据库后才按新配置重新分配数据缓冲区。
  • 参数值在配置阶段按取值范围校验,并在数据库启动时加载。规划调整时应同时评估物理内存以及其他共享内存参数的占用,确保数据库能够正常重启。

取值范围:整数,[64M, 32T],支持单位:B / K / M / G / T(无单位时默认为字节)

缺省值说明:

  • 数据库内核未从配置文件读取到该参数时,使用 128M 作为回退值。该值不等同于安装后的实际初始值。
  • 随包配置模板 pkg/cfg/ogracd.ini 中预置为 2G。
  • 使用默认 LUN 部署配置时,内存自动调优默认开启,部署工具会根据物理内存计算该参数,当前算法将 4G 作为下限,因此安装后可能为 4G 或更大的值。
  • 其他部署方式或管理员显式配置可能覆盖上述值。该参数没有统一的安装后固定值,请以 SHOW PARAMETERS DATA_BUFFER_SIZE 的查询结果为准。

配置建议:

  • 修改前确认集群各节点的物理内存和配置一致性,并安排数据库重启窗口。
  • SHOW PARAMETERS 显示的具体值可能来自随包配置模板、部署工具或管理员后续配置。

SHARED_POOL_SIZE ​

作用:配置共享池(Shared Pool)的总大小,包含 Lock Pool、SQL Pool 和 DC Pool 等共享内存结构。

  • 最小值受 init_lock_pool_pages 影响:
    • 仅当 init_lock_pool_pages = 128 时,才允许将 SHARED_POOL_SIZE 设为最小值 68M。
  • 备机的 SHARED_POOL_SIZE 必须 ≥ 主机值,否则无法使用 68M 最小配置。
  • 调大该参数后,建议评估是否需同步增大 init_lock_pool_pages。
  • 动态调整限制:
    • 仅支持在线调大,不支持在线收缩。
    • 单次扩展量(expand_size)必须 ≥ MIN(512M, 当前 SHARED_POOL_SIZE),否则需重启生效。
    • 最多支持 15 次动态扩展;超过次数后,后续修改需重启数据库生效。

取值范围:整数,[68M, 32T](单位:Byte)
默认值:128M
配置建议:

  • 如需调小,必须通过修改配置文件或使用 SCOPE=PFILE,并重启数据库生效。
    安装脚本默认值:使用 install.py 安装时,自动设为 1G

2. 检查点(Checkpoint) ​

CHECKPOINT_IO_CAPACITY ​

作用:控制每次 Checkpoint 触发时写入磁盘的脏页数量(以页为单位)。

取值范围:整数,[1, 4096]
默认值:1024

_CHECKPOINT_TIMED_TASK_DELAY ​

作用:设置两次定时 Checkpoint 任务之间的间隔时间(毫秒)。

  • 定时 Checkpoint 由 checkpoint_pages 和 checkpoint_period 共同控制,本参数用于调节执行频率。

取值范围:整数,[0, 2³² − 1](单位:毫秒)
默认值:100

3. 事务类 ​

_UNDO_AUTO_SHRINK ​

作用:控制是否启用 Undo Segment 的自动收缩功能。

取值:

  • true:启用自动收缩
  • false:禁用自动收缩

默认值:true

4. 进程类 ​

DBWR_PROCESSES ​

作用:设置后台写脏页(DBWR)线程的数量。

  • 增大该值可提升 I/O 并发能力,但会增加 CPU 和内存开销。
  • 默认配置因安装包类型而异:
    • 共享存储安装包:默认设为 36
    • 其他类型安装包:默认设为 8
  • 特殊建议:当 FILE_OPTIONS = ASYNCH 或 SETALL(即启用异步 I/O)时,建议将该参数设为 1,因为异步 I/O 本身已具备高并发能力,无需额外增加 DBWR 线程。

取值范围:整数,[1, 36]
默认值:1

5. 会话级参数 ​

_DOUBLEWRITE ​

作用:控制是否启用双写(Double Write)机制,用于提升数据写入的可靠性,防止部分写(Partial Write)问题。

取值:

  • TRUE:启用双写
  • FALSE:关闭双写

默认值:TRUE

说明:所有"仅支持在线调大"的参数,若需缩小,必须通过配置文件或 SCOPE=PFILE 修改,并重启数据库实例后生效。