注册
dm.ini 内存、优化、redo 核心参数解读与dm_svc.conf 配置、归档、SQL 日志启停管理
专栏/技术分享/ 文章详情 /

dm.ini 内存、优化、redo 核心参数解读与dm_svc.conf 配置、归档、SQL 日志启停管理

DM_lll 2026/08/21 413 0 0
摘要

一、dm.ini

dm.ini通常位于数据库初始化时指定的目录下,默认路径通常在$DM_HOME/data/<数据库名>/dm.ini,例如我的存在位置为:/root/home/dmdba/dmdbms/data1/DMDB/dm.ini。
dm.ini中参数区分为静态参数和动态参数
动态参数:可以在数据库运行期间在线修改,立即或在指定范围内生效。
a.在内存和配置文件中都修改(永久生效)
ALTER SYSTEM SET ‘<参数名>’ = <值> BOTH;
b.只在内存中修改(当前实例运行期间生效,重启后失效)
ALTER SYSTEM SET ‘<参数名>’ = <值> MEMORY;
c.只在配置文件中修改(重启实例后生效)
ALTER SYSTEM SET ‘<参数名>’ = <值> SPFILE;
静态参数:必须修改配置文件并重启数据库实例才能生效。
a.使用SQL 命令修改dm.ini文件
ALTER SYSTEM SET ‘<参数名>’ = <值> SPFILE;
b.手动编辑dm.ini文件,修改后保存;
c.重启数据库实例使修改生效。
修改时需注意
a.修改前备份:修改dm.ini前,最好先备份原文件。
b.谨慎操作:不明确的参数不要随意修改,错误的配置可能导致数据库无法启动或性能下降。
c.性能调优顺序:通常优先调整内存参数(如 BUFFER, MEMORY_POOL),然后是工作线程和并发相关参数(如 WORKER_THREADS),最后是I/O和日志相关参数。
d.使用SQL命令:尽量使用ALTER SYSTEM命令而非直接编辑文件,特别是对于动态参数,可以避免重启。
e.监控与调整:修改参数后,务必观察系统监控(如达梦管理工具、OS监控工具),看是否达到预期效果。

1、文件路径与实例名

image.png
image.png

2、内存参数

(1)共享内存池

image.png

(2)数据缓存区

image.png

(3)排序与哈希区

image.png

(4)字典与SQL缓冲区

image.png

(5)会话/vm内存

image.png

3、线程配置

image.png
image.png

4、查询与优化器

image.png

5、检查点与IO

image.png
image.png

6、redo日志

image.png

7、事务

image.png
image.png

8、数据库基础

image.png

9、归档与集群相关

image.png
image.png

10、SQL日志

image.png

11、监控

image.png

12、安全与兼容

image.png
image.png

二、dm_svc.conf

1、文件功能与作用

dm_svc.conf是一个客户端配置文件,位于/etc 目录。在安装数据库时执行root_installer.sh会自动生成dm_svc.conf文件。它的主要作用是:
a.简化连接字符串:将常用的连接参数(如端口号、登录超时等)预先配置在文件中,应用程序的连接字符串只需指定服务名(svc_name)即可。
b.实现负载均衡与故障转移:可以配置一个服务名对应多个数据库服务器地址。客户端驱动程序会根据配置策略(如随机、顺序)选择连接哪个服务器,并在连接失败时自动尝试其他服务器,从而实现负载均衡和故障自动切换。
c.集中管理连接属性:方便统一管理所有客户端的连接行为。

2、重要参数详解

image.png

三、归档

1、开启归档模式

./disql 用户名/密码@IP地址:端口号
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG ‘DEST=/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=200000’;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

2、确认是否开启

SELECT arch_mode FROM v$database;
image.png

SELECT ARCH_DEST, ARCH_TYPE FROM V$DM_ARCH_INI;
image.png

四、SQL日志

1、概述

SQL 日志内容包含系统各会话执行的 SQL 语句、参数信息、错误信息等。SQL 跟踪日志主要用于分析错误和分析性能问题,基于跟踪日志可以对系统运行状态有一个分析,比如,可以挑出系统现在执行速度较慢的 SQL 语句,进而对其进行优化。
打开 SQL 日志会对系统的性能会有较大影响,一般用于查错和调优的时候才会打开,默认情况下系统是关闭 SQL 跟踪日志的。若需要 SQL 跟踪日志但对日志的实时性没有严格的要求,又希望系统有较高的效率,可以设置 sqllog.ini 参数 SQL_TRACE_MASK 和 MIN_EXEC_TIME 只记录关注的相关记录,减少日志总量;设置 sqllog.ini 参数 ASYNC_FLUSH 打开 SQL 日志异步刷盘功能,以提高系统性能。

2、开启日志

(1)创建 SQL 日志存放目录

mkdir -p /root/home/dmdba/dmdbms/log/logcommit

(2)检查 SVR_LOG 参数。

select * from v$parameter where name like ‘SVR_LOG%’;
image.png

(3)修改sqllog.ini 文件

设置 sql 日志为异步,按照文件大小进行切换,每个 1024M,20个文件循环写。如果内存充足(≥32G),参数 BUF_TOTAL_SIZ、BUF_SIZE 和 BUF_KEEP_CNT 建议做如下调整。
(1)参数 BUF_TOTAL_SIZE 值由 10240 修改为 1024000;
(2)参数 BUF_SIZE 值由 1024 修改为 10240;
(3)参数 BUF_KEEP_CNT 值由 6 修改为 20。

cd /root/home/dmdba/dmdbms/data2/DMDB
vi sqllog.ini
image.png

(4)执行调用存储过程生效配置文件,并开启SQL LOG日志。

SP_REFRESH_SVR_LOG_CONFIG();
sp_set_para_value(1,‘SVR_LOG’,1);
image.png
–检查 SVR_LOG 参数。
select * from v$parameter where name like ‘SVR_LOG’;
image.png

(5)检查日志生成情况。

ls /data /logcommit

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服