1、前提条件
- 运行环境预先安装Java环境即jdk环境,支持linux与windows系统能够正常运行,推荐使用java1.8版本;
- SQL日志格式要求确保每条语句后紧跟sql语句时间;
- 由于程序运行需在后台建立log_commit表,建表后会删除同名表,因此如有同名表,需提前做好备份;
- 选择的日志路径下只能有要分析的日志而不能有其他文件,可以有多个日志;
- Dmlog.properties配置文件中log路径,注意windows下,需使用“\\”代替“\”;
- 最重要一点是不能在生产环境中使用本工具,因该工具运行会对生产环境的数据库造成压力。
2、待分析的数据库开启慢语句收集
1.查看sql日志情况
2.调整慢日志参数
SP_SET_PARA_VALUE(1,'SVR_LOG',1);--设置SVR_LOG的值为1
SP_REFRESH_SVR_LOG_CONFIG();--使以上的设置生效
3.查看sql日志是否生效
3、工具使用
1.本机创建页大小=32数据库并启动
2.解压工具安装包,修改dmlog.properties文件参数
3.创建log_commit表
CREATE TABLE "SYSDBA"."LOG_COMMIT"
(
"STARTTIME" DATETIME(6),
"SESS" VARCHAR(500),
"SQLSTR" TEXT,
"EXETIME" FLOAT,
"SQLSTR_SUB" VARCHAR(8000),
"ROWCOUNT" VARCHAR(8000),
"SQLSTR_PARA" VARCHAR(8000),
"WAITTIME" VARCHAR(8000),
"EUER" VARCHAR(100),
"OPTYPE" VARCHAR(30)) STORAGE(USING LONG ROW, ON "MAIN", CLUSTERBTR);
CREATE INDEX "IDX_EXETIME_RESULT_2021_10_12_11_22_52" ON "SYSDBA"."LOG_COMMIT"("EXETIME" ASC) STORAGE(ON "MAIN", CLUSTERBTR);
4.创建本地慢日志目录,把待分析的慢日志取下来放进目录
5.使用工具对慢日志分析
编辑bat文件,确保java 正常运行,双击文件运行
4、分析结果
进入分析产生的目录。查看 执行时间和次数的 excel 文件,分析慢语句。也可根据散点图大概分析什么时间段慢。