暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦SQL日志分析工具DMLOG

IT那活儿 2025-08-26
385
点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!


DMLOG工具介绍

实例级 SQL 日志分析工具,DMLOG 工具是一款简单易用的达梦数据库 SQL 日志分析工具,通过分析数据库的 SQL 日志文件(达梦数据库可通过开启 SVR_LOG 捕捉数据库中运行的所有 SQL,并生成 SQL 日志文件),来统计日志中最长执行时间和执行最高频次的 SQL 语句,直观地反映 SQL 执行情况,对于 SQL 的优化工作提供了极大的便利。
1.1 DMLOG 工具可实现如下功能
  • 达梦数据库 SQL 日志分析功能,统计分析日志并根据执行时间和执行频次进行排序,生成 excel 文档。
  • 支持生成 echart 散点图,每个点上的 sql 可以显示和拷贝。
  • 支持生成 sql 统计图,根据执行次数和执行时间统计。
1.2 适用范围
  • DMLOG 工具不受操作系统平台限制,大小不超过 10M,在安装好 Java 环境后,可在各平台运行。
  • DMLOG 工具适用于各种版本的 DM7 数据库和 DM8 数据库。
1.3 工具下载
DMLOG 工具可自行在 在线服务平台 VIP 专区 下载或联系达梦技术服务人员获取。


工具使用

2.1 使用条件与限制
运行环境需预先安装 Java 环境,DMLOG 支持在 Liunx 和 Windows 系统运行。
推荐使用 java1.8 版本,linux 最小化安装最少要安装打印服务组件,windows 下不支持 java1.6 版本。
SQL 日志格式要求确保每条语句后紧跟 sql 语句时间,因此需确认日志生成的数据库的 sql trace 参数,建议使用默认参数。
由于程序运行需要在后台数据库建 log_commit 表,建表前会删除同名表,因此如果有同名表,请先做好备份。
待分析的 SQL 文件夹中请保证只有 SQL 日志,无其他文件。
dmlog.properties 配置文件中 log 路径,注意 windows 下,使用\\代替\
由于一页 excel 最大行数为 65536,因此当待分析的日志量较大时,会提示超过限值警告,只取前 65535 记录。此时可以将日志切割或分批进行分析,或者分析执行时间比较长和执行时间比较高的 SQL,也可以不使用替换参数功能,减少输出结果。
警告:本工具只能在测试环境进行分析,切忌连接生产环境!!!
2.2 使用前准备
使用前需检查 Java 安装情况。
Copy[root@localhost DMLOG8.3]# su - dmdba
Last login: Tue Oct 12 11:20:08 CST 2021 on pts/1
[dmdba@localhost ~]$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

2.3 使用方法和步骤
解压工具包并配置工具参数。
Copy[root@localhost ]# unzip DMLOG8.*.zip
[root@localhost /]# cd DMLOG8.*/ 
[root@localhost DMLOG8.10]# vi dmlog.properties

注意:Windows 环境下,dmlog.properties 配置文件中 log 路径 sqlpath 参数,需使用\\代替\liunx 下填写正常路径即可。
执行 jar 包命令:
Copy[root@localhost DMLOG8.**]# java -jar Dmlog_DM_8.**.jar
运行过程如下图所示,执行完成后会按当前时间生成对应 RESULT_$DATE 文件夹,并将所有统计信息都存放该目录中。


结果解读

生成的 RESULT_$DATE 结果文件夹下有根据配置的执行时间和执行次数上限值命名的 excel 文件(xls)、报错的 SQL 文件(txt)、长度超过 30000 的 SQL 文件 (txt),echart 散点图及 90% 平均次数和平均耗时的 SQL 统计图 (html)。
3.1 more_than_0_ms_log_result.xls 工作
按照最大执行时间降序排序,如下图:
3.2 more_than_0_times_log_result.xls 工作
按照执行次数降序排序,如下图:
3.3 echarts_scatter_loading10.html 
为 echart 散点图每个点的 SQL 信息可以显示和拷贝,如下图:

散点图支持以下功能:
  • 1)筛选 SEL/DDL/INS/CAL 等分类,只用点击去除或者选择对应类别,即可显示对应 sql 在图形上分布点。
  • 2)支持散点图区域放大功能,鼠标指定位置,进行滚轮缩放,可放大语句。
  • 3)点击每个点,可获得每个点的 SQL 详细信息。
  • 4)点击散点图右上角可以保存图片。
3.4 echarts_scatter_Statistics.html 
为散点图基础上生成的按照执行 90% 平均次数和平均耗时的 SQL 统计图:
3.5 echarts_qps.html 
为 QPS(Queries-per-second,即每秒查询率,在数据库中指每秒执行查询 sql 的次数)折线图:

END


本文作者:钟章龙(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论