达梦数据库SQL日志分析利器:DMLOG工具使用全攻略
一、引言:
分析SQL是DBA或者数据库服务人员很重要的工作。达梦数据库通过开启SVR_LOG捕捉数据库中运行的所有SQL,并生成SQL日志文件。DMLOG工具是一款简单易用的达梦数据库SQL日志分析工具,旨在帮助运维人员统计日志中最长执行时间和执行最高频次的SQL语句,直观的反应SQL执行情况,对于SQL的优化工作提供了极大的便利。
二、使用范围:
本工具适用于各种版本的DM7数据库和DM8数据库。
三、工具描述:
DMLOG用于对达梦SQL日志进行统计分析,便于SQL优化人员进行查看捕获关键信息,不提供SQL优化建议。DMLOG用java语言编写,不受操作系统平台限制,大小不超过10M,在安装好Java环境后,可在各平台运行。
四、环境准备与工具部署
4.1 Java环境检查
DMLOG工具基于Java开发,运行前需确保系统已安装Java 1.8或以上版本。可通过以下命令检查Java环境:
java -version

4.2 工具获取与解压
DMLOG工具可通过达梦官方渠道获取,下载后解压即可使用:
unzip DMLOG8.18.zip
cd DMLOG8.18

解压后的目录包含以下关键文件:
Dmlog_DM_8.18.jar:主程序JAR包dmlog.properties:配置文件echarts.js:可视化图表依赖库
五、配置与使用详解
5.1 配置文件修改
使用前需编辑dmlog.properties配置文件,主要参数说明:
# 分析非MPP产生的日志为0,MPP产生的日志为1
ismpp=0
# 数据库连接信息
ip=127.0.0.1
port=5236
username=SYSDBA
password=Dameng123
# 分析模式:根据已存在的数据生成结果为1,根据LOG日志新生成数据为0
use_result=0
# SQL日志文件夹绝对路径(Windows使用双反斜杠)
sqlpath=/dm8/log/
# 分析多少毫秒以上的SQL语句
time=0
# 是否生成excel统计结果
if_excel=1
# 日志表名
tab_name=log_commit
# 分析时间范围(需同时设置)
start_time=2025-09-02 2:00:00
end_time=2025-09-05 12:00:00
注意:
1、dmlog.properties配置文件中log路径sqlpath参数,注意windows下,使用”\\”代替”\”,路径中有中文会报错,liunx下填写正常路径即可。
2、start_time和end_time填写格式:年-月-日 时:分:秒 例如:2025-07-20 20:52:06
注意:start_time和end_time需要配套使用,缺一不可;且当该参数使用时,请勿修改sql日志文件名。
5.2 工具执行
配置完成后,执行以下命令运行分析工具:
java -jar Dmlog_DM_8.18.jar
分析文件:dmsql_YXJKPTDB2_PMS_YXJCJK_20250902_091003.log
文件已处理:5000行
文件已处理:10000行
...

生成的结果目录下有根据配置的执行时间和执行次数上限值命名的excel文件(xls),报错的SQL和长度超过30000的SQL会另外生成txt文件(txt),echart散点图,QPS折线图及90%平均次数和平均耗时的SQL统计图(html):

总结:
1、需要有jdk环境,能够运行该jar工具包
2、库的页大小为32(小于32会出问题报错)
3、该工具只能分析sp_set_para_value(1,‘svr_log’,1)打开的dmsql_DMSERVER日志
4、选择的日志路径下只能要分析的日志不能有其他文件,可以有多个日志
5、在sql中DML、DQL操作后,记得commit;
6、分析结束记得关闭sp_set_para_value(1,‘svr_log’,0)
7、分析结果会在运行jar包路径下
8、不要再生产环境中使用本工具,因为本工具的运行会对生产环境的数据库造成压力。
更多推荐
所有评论(0)