达梦慢sql监控及分析

一   sqllog.ini 配置过滤慢sql

该文件在dm.ini 同级目录下面

 sqllog.ini具体参数可参考DM系统管理员手册,参考示例如下:监控执行时间超过1.5s的sql

BUF_TOTAL_SIZE = 10240

BUF_SIZE = 1024

BUF_KEEP_CNT = 6

[SLOG_ALL]

FILE_PATH = /dmdata/log                       #日志存放路径

PART_STOR = 1

SWITCH_MODE = 2

SWITCH_LIMIT = 512          #文件大小(M)

ASYNC_FLUSH = 1

FILE_NUM = 5                           #文件个数

ITEMS = 0

SQL_TRACE_MASK = 2:3:25:28

MIN_EXEC_TIME = 1500            #最短执行时间(ms)

USER_MODE = 0

USERS =

当且仅当 INI 参数 SVR_LOG=1 时使用。登陆数据库执行下面脚本开启监控,无需重启即可生效,

SP_SET_PARA_VALUE(1,'SVR_LOG',0);

SP_SET_PARA_VALUE(1,'SVR_LOG',1);

生效之后在对应log文件可以看到dmsql_开头的日志文件

 二 使用DMLOG工具对慢sql日志进行分析

工具下载地址

链接:https://pan.baidu.com/s/12QoKNSOufGhp6K5Qjg-FxA    提取码:1234

DMLOG运行环境需预先安装 Java 环境,支持在 Liunx 和 Windows 系统运行,

下面介绍在linux系统进行安装和配置

检查java环境

 解压工具包并配置工具参数

unzip DMLOG8.3.zip

  vi DMLOG8.3/dmlog.properties

一般修改如下即可,本工具只能在测试环境进行分析,不要直连生产环境进行分析

 执行 jar 包命令

java -jar Dmlog_DM_8.3.jar

 生成的 RESULT_$DATE 结果文件夹下有根据配置的执行时间和执行次数上限值命名的 excel 文件(xls),将文件下载下面进行分析里面sql

 excel 打开如下:

如果需要仔细分析某个模块,可以自定义表名

 

select
SUBSTRING(sess,INStr(sess,'thrd')+5,6) thrd,
a.SQLSTR_SUB,
min(a.EXETIME),max(a.exetime),
min(STARTTIME),MAX(STARTTIME),
COUNT(*) from "SYSDBA"."log_commit_1018" a
WHERE STARTTIME BETWEEN '2023-12-14 17:54:04' AND '2023-12-14 18:01:21'
--and a.SQLSTR_SUB like 'select %'
GROUP BY a.SQLSTR_SUB
,SUBSTRING(sess,INStr(sess,'thrd')+5,6)

posted @ 2023-11-27 21:04  fangzpa  阅读(605)  评论(0编辑  收藏  举报