在达梦数据库(DM Database)中,dm.ini文件是一个至关重要的配置文件,它用于管理数据库的多种参数和设置。本文将详细探讨 dm.ini文件的结构、用途以及如何进行有效的配置。
什么是 dm.ini 文件?
每创建一个 DM 数据库,就会自动生成 dm.ini 参数文件。dm.ini 是 DM 数据库启动所 必须的配置文件,通过配置该文件可以设置 DM 数据库服务器的各种功能和性能选项,主要 的配置模块包括:控制文件相关、实例名、内存相关、线程相关等。
dm.ini 文件的主要用途
数据库连接配置:dm.ini文件包含了数据库名称、端口号等信息,这些是建立客户端与数据库之间连接的基础。
1.性能优化:可通过调整内存参数来优化数据库的性能,从而提升查询速度和响应时间。
2.用户管理:可以设置最大连接数、超时限制等,帮助管理员更好地控制用户访问。
3.日志管理:配置日志记录的路径和级别,以便于监控和排查问题。
4.安全设置:可以配置认证机制和权限管理,确保数据安全性。
常见参数详解
首先,先创建一个实例,数据库名为PROD,实例名为TEST,端口号为5237
到安装目录下找到dm.ini或者find / -name dm.ini找到并查看配置文件,以下是配置文件相关参数:
参数名 | 缺省值 | 属性 | 说明 |
MAL_INI | 0 | 静态 | 是否启用MAL系统,0:不启用;1:启用 |
ARCH_INI | 0 | 动态,系统级 | 是否启用归档,0:不启用;1:启用 |
REP_INI | 0 | 静态 | 是否启用复制,0:不启用;1:启用 |
LLOG_INI | 0 | 静态 | 是否启用逻辑日志,0:不启用;1:数据复制使用 |
TIMER_INI | 0 | 静态 | 是否启用定时器,0:不启用;1:启用 |
MPP_INI | 0 | 静态 | 是否启用MPP系统,0:不启用;1:启用 |
DMTHRD_INI | 0 | 动态,系统级 | 是否启用线程绑核功能,0:不启用;1:启用 |
1.数据库基本信息的配置:
实例名:
数据库最大连接数以及端口号:
参数名 | 缺省值 | 属性 | 说明 |
MAX_SESSIONS | 10000 | 静态 | 系统允许同时连接的最大数。取值范围 1~150000。 如果在安全版环境下,该参数还受到 LICENSE 的限制,取二者中较小者。 当会话数达到 MAX_SESSIONS 值后,为了保证管理员可继续管理数据库,允许 SYSDBA 额外开启 10 个 会话连接 |
PORT_NUM | 5237 | 静态 | 服务器监听通讯端口号,服务器配置此参数,取值范围 1024~65534,发起连接端的端口在 1024-65535 |
INSTANCE_NAME | TEST | 静态 | 实例名。只能由_、$、大写字母 A 至 Z、小写字母 A 至 Z、数字 0 至 9 组成,且第一个字符不能是数字。长度不超过 16 个字节 |
2.内存管理相关配置:
定义内存总和百分比以及共享内存缓冲区的大小,影响查询性能和内存使用。
定义系统备份内存池的大小。
定义排序操作时使用的内存区域大小,优化排序性能。
参数名 | 缺省值 | 属性 | 说明 |
MAX_OS_MEMORY | 100 | 静态 | DM 服务器能使用的最大内存占操作系统物理内存与虚拟内存总和的百分比,取值范围 40~100。当取值 100 时,服务 器不进行内存的检查 注:对于 32 位版本的 DM 服务器,虚拟内存最大为 2G |
MEMORY_POOL | 500 | 静态 | 共享内存池大小,单位MB。共享内存池是由DM管理的内存。取值范围:32位平台为64~2000,64位平台为 64~67108864 |
SORT_BUF_SIZE | 20 | 动态, 会话 级 | 原排序机制下,排序缓存区最大值,单位 MB。取值范围 1~2048 |
SORT_BLK_SIZE | 1 | 动态, 会话 级 | 新排序机制下对数据进行排序的排序缓冲区分片大小,单位 MB。取值范围 1~50。 SORT_BLK_SIZE 一般不需要设置太大,该内存片大小能容纳 1 万至 5 万行待排序的数据即可。该值须小于等于 SORT_BUF_SIZE,否则会在重启时被重置为 SORT_BUF_SIZE。为了保证归并排序的效率,对于大内存排序缓冲区的 总的分片个数系统上限为 10000 个,因此,当 SORT_BUF_GLOBAL_SIZE 足够大的时候,为了保证大内存排序缓冲 区能容纳足够多的数据,需要适当调大SORT_BLK_SIZE。例如,当SORT_BLK_SIZE为1时,SORT_BUF_GLOBAL_SIZE 的最大可用值为 10000。如果 SORT_BUF_GLOBAL_SIZE 需要 20000M 可用空间排序时,需要设置 SORT_BLK_SIZE 最小为 2 |
MEMORY_BAK_POOL | 4 | 静态 | 系统备份内存池大小,单位 MB。系统备份内存池是由 DM 管理的内存。取值范围 2~2048 |
3.日志相关配置:
设置日志缓冲区,禁用或启用日志的相关功能
设置日志记录的详细程度。
参数名 | 缺省值 | 属性 | 说明 |
RLOG_BUF_SIZE | 1024 | 静态 | 单个日志缓冲区大小,以日志页个数为单位。取值范围 1~20480 |
RLOG_POOL_SIZE | 256 | 静态 | 最大日志缓冲区大小,单位 MB。取值范围 1~4096 |
RLOG_PARALLEL_ENABLE | 1 | 静态 | 是否启动并行日志。0:不启用,但是日志刷盘时可能合并为并行日志包刷盘;1:启用;2:一律不生成并行日志包 |
RLOG_IGNORE_TABLE_SET | 1 | 动态,系 统级 | 是否开启记录物理逻辑日志功能。1 是,0 否 |
FILE_TRACE | 0 | 静态 | 日志中是否记录文件操作,0:不记录;1:记录 |
COMM_TRACE | 0 | 动态,系 统级 | 服务器日志是否记录通信中产生的警告信息。0:不记录;1:记录 |
ERROR_TRACE | 0 | 动态,会 话级 | 服务器日志中是否记录语法分析出错的语句。1:是,0:否 |
3.安全性相关配置:
指定认证方法,例如密码认证或其他机制。
定义修改密码是否需要输入原密码,增加用户安全性,如果不需要可关闭。
参数名 | 缺省值 | 属性 | 说明 |
ENABLE_ENCRYPT | 0 | 静态 | 用于通信加密。基于传输层的 SSL 协议通信加密所采用的方式。取值 0、1 和 2。 0:不开启 SSL 认证和 SSL 通信加密; 1:开启 SSL 认证和 SSL 通信加密; 2:开启 SSL 认证但不开启 SSL 通信加密。 |
CLIENT_UKEY | 0 | 静态 | 是否采用 UKEY 身份验证。0:支持所有登录方式,是否采用 UKEY 验证由客户端驱动。当客户端输入 UKEY 名称和 UKEY_PIN 则采用 UKEY 验证,否则不使用 UKEY 验证;1:客户端强制使用 UKEY 验证 |
PASSWORD_VERIFICATION | 0 | 动态,系 统级 | 用户修改数据库身份验证模式下自己的口令时,是否强制需要提供原口令。0:不需要;1:需要 |
4.其他实用配置:
设置超时时间。
指定数据库备份文件的保存路径(在安装时手动指定,如果忘记路径可查看此参数)。
参数名 | 属性 | 说明 |
CONNECT_TIMEOUT | 静态 | 连接超时时间,单位为毫秒。0 表示无限制 |
CTL_BAK_PATH | 手动 | 控制文件备份路径,缺省路径为“SYSTEM_PATH/CTL_BAK”,在初始化库或没有配置该项时均指定为缺省路径。 备份文件命名格式: “DM_年月日时分秒_毫秒.CTL” 备份文件在初始化库和每次修改 DM.CTL 控制文件后生成 |
以上就是本人整理的dm.ini常用的一些参数,如有不足之处欢迎各位进行补充。
更多相关参数说明: https://eco.dameng.com