1、使用条件

  1. 运行环境预先安装Java环境;支持liunx和windows系统运行。

说明:推荐使用java1.8版本,linux最小化安装最少要安装打印服务组件,windows下不支持java1.6版本。

  1. SQL日志格式要求确保每条语句后紧跟sql语句时间,因此需确认日志生成的数据库的sql trace参数,建议使用默认参数;
  2. 由于程序运行需要在后台数据库建log_commit表,建表前会删除同名表,因此如果有同名表,请先做好备份;
  3. 选择的日志路径下只能要分析的日志不能有其他文件,可以有多个日志
  4. 不要在生产环境中使用本工具,因为本工具的运行会对生产环境的数据库造成压力
  5. dmlog.properties配置文件中log路径,注意windows下,使用”\\”代替”\”。

2、使用准备

2.1查看JDK安装情况

2.2上传并解压工具包

2.3查看sql日志是否开启

0是未开启,1是开启

开启sql日志

修改/dm8/data/DAMENG/sqllog.ini

设置SVR_LOG参数为1,打开SQL日志

SP_SET_PARA_VALUE(1,'SVR_LOG',1);

调用过程SP_REFRESH_SVR_LOG_CONFIG();对后面新的会话生效

 

验证sql日志是否生效 

 

注意:测试完成后记得关闭

SP_SET_PARA_VALUE(1,'SVR_LOG',0);

2.4 库的页大小为32

3、工具使用

编辑dmlog.properties文件

 

创建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) ;

执行jar包命令

文件生成路径在执行文件所在文件夹中 

 

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

两个excel分别是按照最大执行时间和执行次数进行降序排序

优化方法和优化后时间这两列空置,方便SQL优化人员进行优化后的整理和对比。

echarts_scatter_loading10.html为echart散点图每个点的SQL信息可以显示和拷贝

散点图支持

1 筛选SEL/DDL/INS/CAL等分类,只用点击去除或者选择对应类别,即可显示对应sql在图形上分布点;

2 支持散点图区域放大功能,鼠标指定位置,进行滚轮缩放,可以对语句进行方便放大。

3 点击每个点,可获得每个点的SQL详细信息。

4 右上角,可以点击进行保存图片

echarts_scatter_Statistics.html为散点图基础上生成的按照执行90%平均次数和平均耗时的SQL统计图。

 echarts_qps.html为QPS折线图。

达梦学习社区地址:https://eco.dameng.com

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐