达梦数据库配置文件参数说明

avatar
作者
猴君
阅读量:0

        DM 数据库的配置文件为dm.ini,它控制着数据库的各种功能和性能选项。该文件包含了多个模块,例如控制文件、实例名、内存和线程等。参数属性分为手动、静态和动态三种,分别对应不同的修改方式和生效时机。

参数类型和修改方式:

·手动参数: 不能动态修改,必须手动修改 `dm.ini` 文件并重启数据库才能生效。

·静态参数: 可以动态修改,但需要重启数据库才能生效。

·动态参数: 可以动态修改,修改后立即生效。

    ·会话级: 修改后仅影响当前会话和新创建的会话。

    ·系统级: 修改后影响所有会话。

参数修改方法:

·手动修改: 直接编辑 `dm.ini` 文件。

·动态修改: 使用系统过程SP_SET_PARA_VALUE()、SP_SET_PARA_DOUBLE_VALUE()和 SP_SET_PARA_STRING_VALUE()。

参数值非法处理:

·手动修改:

    · 与类型不兼容:使用默认值。

    ·小于最小值:使用最小值。

    ·大于最大值:使用最大值。

·动态修改:

    ·与类型不兼容、小于最小值、大于最大值:均报错。

注意事项:

·动态修改参数时,若发生系统崩溃,需要使用 `dm.ini.dmbak` 文件恢复 `dm.ini` 并重启数据库。

·建议谨慎修改参数,避免设置非法值导致数据库运行异常。

  • dm.ini常用参数

参数名

缺省值

属性

说明

INSTANCE_NAME

DMSERVER

静态

实例名。只能由_$、大写字母 A Z、小写字母 A Z、数字 0 9 组成,且第一个字符不能是数字。长度不超过 16 个字节

BUFFER

1000

静态

系统缓冲区大小,单位 MB。推荐值:系统缓冲区大小为可用物理内存的 60%80%。取值范围 8~1048576

SVR_LOG

0

动态,系统级

是否打开 SQL 日志功能,0:关闭;1:打开,并按照 SQLLOG.INI 中的配置来记录 SQL 日志;2:打开,按文件中记录数量切换日志文件,日志记录为详细模式;3:打开,不切换日志文件,日志记录为简单模式,只记录时间和原始语句

SYSTEM_PATH

安装时指定

手动

系统库目录

ARCH_INI

0

动态,系统级

是否启用归档,0:不启用;1:启用

MAL_INI

0

静态

是否启用 MAL 系统,0:不启用;1:启用

ALTER_MODE_STATUS

1

动态,系统级

是否允许手工修改服务器的模式、状态和 OGUID2 表示允许,1 表示在本地守护进程故障时允许,0 表示不允许。注:数据守护环境下建议配置为 0,实例处于主机或备机模式后,不允许用户直接通过 SQL 语句修改服务器的模式、状态和OGUID

ENABLE_OFFLINE_TS

1

动态,系统级

是否允许 OFFLINE 表空间,0:不允许;1:允许;2:备库不允许。
注:数据守护环境下建议配置为 2

EXCLUDE_RESERVED_WORDS

空串

静态

语法解析时,需要去除保留字身份的保留字列表,保留字之间用逗号分隔。去除身份的保留字将变成普通字符串

MAX_SESSIONS

10000

静态

系统允许同时连接的最大数。同时,安全版环境下该参数还受到 LICENSE 的限制,取二者中较小的值,取值范围 1~150000

CTL_BAK_PATH

安装时指定

手动

控制文件备份路径,缺省路径为“SYSTEM_PATH/CTL_BAK”,在初始化库或没有配置该项时均指定为缺省路径。备份文件命名格式:“DM_年月日时分秒_毫秒.CTL”备份文件在初始化库和每次修改 DM.CTL 控制文件后生成

CTL_BAK_NUM

10

手动

控制文件备份个数限制,取值范围 1~100,在此限制之外,会再多保留一个备份文件,在生成新的备份文件时,如果当前已存在的备份文件个数大于指定值,则自动删除创建时间最早的备份文件,小于或等于指定值的情况下,不会有删除操作,缺省值为 10

CONFIG_PATH

安装时指定

手动

指定 DMSERVER 所读取的配置文件(DMMAL.INI, DMARCH.INI, DMTIMER.INI 等)的路径。缺省使用 SYSTEM_PATH 路径。不允许指定ASM 目录

TEMP_PATH

安装时指定

手动

临时库文件路径

BAK_PATH

安装时指定

手动

备份路径

AUD_PATH

安装时指定

手动

审计文件的存放路径,缺省使用 SYSTEM_PATH 路径

SYSTEM_PATH

安装时指定

手动

系统库目录

CKPT_RLOG_SIZE

128

动态,系统级

产生多大日志文件后做检查点,单位 MB。取值范围 0~4294967294

CKPT_DIRTY_PAGES

0

动态,系统级

产生多少脏页后产生检查点,单位为页。取值范围 0~4294967294

CKPT_INTERVAL

180

动态,系统级

指定检查点的时间间隔。单位秒,为 0 时表示不自动定时做检查点。取值范围 0~2147483647

CKPT_FLUSH_RATE

5

动态,系统级

检查点刷盘比例。取值范围 0~100.00

CKPT_FLUSH_PAGES

1000

动态,系统级

检查点刷盘的最小页数。取值范围 1000~100000

CKPT_WAIT_PAGES

1024

动态,系统级

检查点一次发起的最大写入页数,等待这些页写入磁盘完成、调整检查点信息后,再发起新的刷盘请求,避免过于集中发起写磁盘请求,操作系统 IO 压力过大,导致 IO 性能下降。取值范围 1~65534

FORCE_FLUSH_PAGES

8

动态,系统级

调度线程启动刷脏页流程时,每个 BUFFER POOL 写入磁盘的脏页数。取值范围 0~1000

ENABLE_CKPT_EVENT_TRIG

0

动态,系统级

是否启用检查点事件触发器。0 否,1

ENABLE_HASH_JOIN

1

动态,会话级

是否允许使用哈希连接,0:不允许;1:允许。

ENABLE_INDEX_JOIN

1

动态,会话级

是否允许使用索引连接,0:不允许;1:允许。

ENABLE_MERGE_JOIN

1

动态,会话级

是否允许使用归并连接,0:不允许;1:允许

MS_PARSE_PERMIT

0

静态

是否支持 MS SQLSERVER 的语法。
0:不支持;1:支持;2:在 MS_PARSE_PERMIT =1 的基础上,兼容 MS SQLSERVER 的查询项中支持“标识符=列名”或“@变量名=列名”用法。
注:当 COMPATIBLE_MODE=3 时,若 MS_PARSE_PERMIT 置为 0,系统自动将其实际值改为 2

COMPATIBLE_MODE

0

静态

是否兼容其他数据库模式。0:不兼容,1:兼容 SQL92 标准,2:部分兼容 ORACLE3:部分兼容 MS SQL SERVER4:部分兼容 MYSQL5:兼容 DM66:部分兼容 TERADATA7:部分兼容 POSTGRES
注:对 COMPATIBLE_MODE 的修改会影响数据存储和操作结果,修改须慎重;具体可咨询达梦技术服务人员

JSON_MODE

0

静态

JSON 语法解析兼容模式。0:兼容 ORACLE1:兼容 PostgreSQL2:兼容 MYSQL

DATETIME_FMT_MODE

0

动态,系统级

是否兼容 ORACLE 的五种日期时间类型的默认日期时间格式。0:不兼容;1:兼容
注:此参数被动态修改后仅影响新生成的会话

DOUBLE_MODE

0

静态

计算 DOUBLE 类型的散列值时,是否只使用 6 个字节。0:否;1:是

CASE_COMPATIBLE_MODE

1

动态,系统级

涉及不同数据类型的 CASE 运算,是否需要兼容 ORACLE 的处理策略。
0:不兼容;
1:兼容,本模式下,当函数 DECODE()中的多个 CASE 类型不一致时,DECODE 会从其中选择一个类型进行匹配;2:兼容,本模式下,当函数 DECODE()中的多个 CASE 类型不一致时,DECODE 根据第一个 CASE 的类型来决定匹配类型;
4:兼容,本模式下,当 CASE WHEN 分支中的 CASE 类型不一致时,进行报错。
支持使用上述有效值的组合值,如 5 表示同时进行 1  4 的优化。

DOUBLE_MODE

0

静态

计算 DOUBLE 类型的散列值时,是否只使用 6 个字节。0:否;1:是

CASE_COMPATIBLE_MODE

1

动态,系统级

涉及不同数据类型的 CASE 运算,是否需要兼容 ORACLE 的处理策略。
0:不兼容;
1:兼容,本模式下,当函数 DECODE()中的多个 CASE 类型不一致时,DECODE 会从其中选择一个类型进行匹配;2:兼容,本模式下,当函数 DECODE()中的多个 CASE 类型不一致时,DECODE 根据第一个 CASE 的类型来决定匹配类型;
4:兼容,本模式下,当 CASE WHEN 分支中的 CASE 类型不一致时,进行报错。
支持使用上述有效值的组合值,如 5 表示同时进行 1  4 的优化。

  • dmarch.ini常用参数

项目

项目意义

字段

字段意义

[ARCHIVE_LOCAL1]

本地归档配置

ARCH_TYPE

归档类型

ARCH_DEST

归档路径。需要配置在 ARCH_TYPE 之后

ARCH_FILE_SIZE

单个归档文件大小,单位 MB,取值范围 64~2048,缺省为 1024MB,即 1G

ARCH_SPACE_LIMIT

本地归档文件空间限制。当同一节点号的本地归档文件达到限制值时,系统自动删除最早生成的本地归档日志文件。0 表示无空间限制,取值范围 1024~2147483647,缺省为 0,单位 MB

ARCH_FLUSH_BUF_SIZE

归档合并刷盘缓存大小,单位 MB,取值范围 0~128,缺省为 0,表示不使用归档合并刷盘

ARCH_HANG_FLAG

本地归档写入失败时系统是否挂起。取值 0 10 不挂起;1 挂起。缺省为 1。第一路本地归档系统内固定设为 1,设 0 实际也不起作用

ARCHIVE_REALTIME

实时归档配置

ARCH_TYPE

归档类型

ARCH_DEST

归档目标实例名。需要配置在 ARCH_TYPE 之后

WAIT_APPLY

若归档目标未配置 WAIT_APPLY,则以全局 ARCH_WAIT_APPLY 为准;若某一个归档目标配置了WAIT_APPLY,则对应归档目标是否是事务一致由配置的 WAIT_APPLY 为准。取值:0:表示高性能模式;1: 表示事务一致模式

ARCH_STANDBY_APPLY

是否根据归档目标重演情况确定自身本地归档可删除。取值 0:否;1:是。默认值为 0

ARCHIVE_ASYNC

异步归档

ARCH_TYPE

归档类型

ARCH_DEST

归档目标实例名。需要配置在 ARCH_TYPE 之后

ARCH_TIMER_NAME

定时器名称。需要配置在 ARCH_TYPE 之后

ARCH_SEND_DELAY

指定源库到异步备库的归档延时发送时间,单位分钟,取值范围 0~1440,缺省为 0,表示不启用归档延时发送功能。
注:仅在异步归档类型中支持此配置项,其他归档类型不支持。如果源库是 DSC 集群,建议用户配置时保证各节点上配置的值是一致的,并保证各节点所在机器的时钟一致,避免控制节点发生切换后计算出的归档延迟发送时间不一致

ARCH_STANDBY_APPLY

是否根据归档目标重演情况确定自身本地归档可删除。取值:0:否;1:是。默认值为 0

ARCHIVE_SYNC

同步归档

ARCH_TYPE

归档类型

ARCH_DEST

归档目标实例名。需要配置在 ARCH_TYPE 之后

ARCH_RECOVER_TIME

主库向同步备库发起异步恢复的时间间隔,单位秒,取值范围 1~86400,缺省为 1,表示主库每隔 1 秒检查一次同步备库的归档状态,若为 INVALID 且和同步备库通信正常,则发起异步恢复。
注:仅在同步归档类型中支持配置此项,其他归档类型不支持

ARCH_STANDBY_APPLY

是否根据归档目标重演情况确定自身本地归档可删除。取值:0:否;1:是。默认值为 0

ARCHIVE_TIMELY

即时归档

ARCH_TYPE

归档类型

ARCH_DEST

归档目标实例名。需要配置在 ARCH_TYPE 之后

WAIT_APPLY

若归档目标未配置 WAIT_APPLY,则以全局 ARCH_WAIT_APPLY 为准;若某一个归档目标配置了WAIT_APPLY,则对应归档目标是否是事务一致由配置的 WAIT_APPLY 为准。取值:0:表示高性能模式;1: 表示事务一致模式

ARCH_STANDBY_APPLY

是否根据归档目标重演情况确定自身本地归档可删除。取值:0:否;1:是。默认值为 0

[ARCHIVE_RAFT1]

RAFT归档

ARCH_TYPE

归档类型。ARCH_TYPE 支持配置为 RAFT LEARNER。其中 LEARNER 归档仅在动态增删节点时使用

ARCH_DEST

归档目标实例名。需要配置在 ARCH_TYPE 之后

ARCH_DEST_ID

归档目标多副本节点编号,用于标识多副本 RAFT 组中不同的节点。取值范围 0~31

ARCH_STANDBY_APPLY

是否根据归档目标重演情况确定自身本地归档可删除。取值:0:否;1:是。默认值为 0

REMOTE

远程归档配置

ARCH_TYPE

归档类型

ARCH_DEST

归档目标实例名。需要配置在 ARCH_TYPE 之后

ARCH_INCOMING_PATH

指定远程归档目标 ARCH_DEST 的本地归档日志文件存放路径。需要配置在 ARCH_TYPE 之后

相关说明

1. 归档类型:

支持多种归档类型,包括本地、远程、实时、异步、同步、即时、RAFT 等,每种类型都有数量限制。

·本地归档 LOCAL(一台主库最多配 8 个)

·远程实时归档 REALTIME(一台主库最多配 8 个)

·远程异步归档 ASYNC(一台主库最多配 8 个)

·同步归档 SYNC(一台主库最多配 8 个)

·即时归档 TIMELY(一个主库最多配 8 个)

·远程归档 REMOTE(一个主库最多配 8 个)

·RAFT 归档 RAFT/LEARNER (一个主库最多配 8 个)

2. 配置规则:

·归档名在配置文件中必须唯一。

·不能存在相同实例名的不同归档。

·不能存在相同目标路径的不同归档。

·归档类型需要配置在目标路径、定时器名称、输入路径之前。

3. 归档清理规则:

·支持 `ARCH_STANDBY_APPLY` 参数,用于根据备库重演信息判断是否可以删除本地归档。

·DSC 环境下,本地归档和远程归档的空间上限分开计算,并根据 DSC 控制节点的重演情况清理本地归档。

·DSC 环境下,主库是 DSC 集群时,备库会根据收到日志包的节点号分开保存归档,并分别计算空间上限。

4. 其他说明:

·`ARCH_TIMER_NAME` 为定制的定时器名称,定时器配置见 dmtimer.ini。

·对于异步备库的级联配置情况,异步备库会根据级联的备库重演情况决定自身的本地归档是否可删除。

以上介绍了归档配置的规则和清理规则,对于理解和使用归档功能非常重要。在实际应用中,需要根据具体情况选择合适的归档类型和配置参数,以确保数据的完整性和安全性。

  • dm_svc.conf

dm_svc.conf 是一个客户端配置文件,它包含了 DM 各接口和客户端工具所需要配置的一些参数。它必须和接口/客户端工具位于同一台机器上才能 生效。

初始 dm_svc.conf 文件在 DM 安装时自动生成。不同平台的生成目录有所不同。

1. 32 位的 DM 安装在 Win32 操作平台下,此文件位于%SystemRoot%\system32 目录;

2. 64 位的 DM 安装在 Win64 操作平台下,此文件位于%SystemRoot%\system32 目录;

3. 32 位的 DM 安装在 Win64 操作平台下,此文件位于%SystemRoot%\SysWOW64 目录;

4. 在 Linux 平台下,此文件位于/etc 目录。

可以通过设置操作系统环境变量 DM_SVC_PATH 来修改 dm_svc.conf 文件路径

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!