1)运行环境预先安装Java环境;支持liunx和windows系统运行。
说明:推荐使用java1.8版本,linux最小化安装最少要安装打印服务组件,windows下不支持java1.6版本。
2)SQL日志格式要求确保每条语句后紧跟sql语句时间,因此需确认日志生成的数据库的sql trace参数,建议使用默认参数;
3)由于程序运行需要在后台数据库建log_commit表,建表前会删除同名表,因此如果有同名表,请先做好备份;
4)待分析的SQL文件夹中请保证只有SQL日志,无其他文件;
5)dmlog.properties配置文件中log路径,注意windows下,使用”\”代替”\”。
注意:请运维人员把sql日志拷贝到测试环境分析,严禁连接生产环境,将生产库作为后台库分析!!!!!!
注意:数据库页大小要求是32K
由于一页excel最大行数为65536,因此当待分析的日志量较大时,会提示超过限值警告,然后取前65535记录。
此时可以将日志切割或分批进行分析,或者分析执行时间比较长和执行时间比较高的SQL,也可以不使用替换参数功能,减少输出结果。
create table T1(id int,name varchar(10));
[dmdba@DCA ~/DMLOG/DMLOG8.11 2023-08-16 15:30:20]
mkdir $DM_HOME/log/sqlpath
SQL 日志功能就是记录所有的SQL 操作,在进行SQL 性能优化时,可以打开该功能,记录SQL 的相关信息。 该功能由SVR_LOG参数控制,默认为0, 表示关闭。可以设置的值如下:
0:关闭;
1:打开,并按照 SQLLOG.INI中的配置来记录 SQL日志;
2:打开,按文件中记录数量切换日志文件, 日志记录为详细模式;
3:打开,不切换日志文件,日志记录为简单模式,只记录时间和原始语句。
注意在sqllog.ini
文件中可以指定收集的类型,默认为1,收集全部的记录,也可以设置为只收集全部 DML类型语句或全部 DDL类型语句,这里有20多种类型,具体参考官方手册中对sqllog.ini 文件的说明。
SVR_LOG 参数是动态参数,可以直接修改,不用重启。
SQL> SP_SET_PARA_VALUE(1,'SVR_LOG',1);
SQL> SELECT SF_GET_PARA_VALUE (1, 'SVR_LOG');
LINEID SF_GET_PARA_VALUE(1,'SVR_LOG')
---------- ------------------------------
1 1
关闭SQL 日志:
SQL> SP_SET_PARA_VALUE(1,’SVR_LOG’,0);
开启后会在log 目录下生成一个dmsql 开头的文件:
[dmdba@DCA ~/DMLOG/DMLOG8.11 2023-08-16 16:22:40]
$ cd $DM_HOME/log
[dmdba@DCA /dm8/log 2023-08-16 16:28:23]
$ ll dmsql*
-rw-r--r-- 1 dmdba dinstall 1146962 8月 16 16:24 dmsql_DMSERVER_20230816_205642.log
[dmdba@DCA ~ 2023-08-16 16:29:39]
$ unzip DMLOG8.11.zip
[dmdba@DCA ~/DMLOG/DMLOG8.11 2023-08-16 16:30:19]
$ ll
总用量 11768
-rw-r--r-- 1 dmdba dinstall 711459 9月 6 2022 DMLOG8.11日志分析工具使用手册.docx
-rw-r--r-- 1 dmdba dinstall 7694340 8月 16 2022 Dmlog_DM_8.11.jar
-rw-r--r-- 1 dmdba dinstall 1322 8月 16 2023 dmlog.properties
-rw-r--r-- 1 dmdba dinstall 3274210 10月 8 2021 echarts.js
-rw-r--r-- 1 dmdba dinstall 4326 2月 20 2022 echarts_qps2.html
-rw-r--r-- 1 dmdba dinstall 4278 2月 20 2022 echarts_qps.html
-rw-r--r-- 1 dmdba dinstall 304436 10月 11 2021 jquery.js
-rw-r--r-- 1 dmdba dinstall 14336 8月 18 2022 readme.doc
[dmdba@DCA ~/DMLOG/DMLOG8.11 2023-08-16 16:30:20]
$ cat dmlog.properties |egrep -v '^$|#'
ismpp=0
ip=127.0.0.1
port=5236
username=SYSDBA
password=SYSDBA
use_result=0
sqlpath=/dm8/log/sqlpath
time=0
frequency=0
is_replace=1
max_exetime=10000
min_exetime=100
e_percent=10
if_excel=1
tab_name=log_commit
trx_id=
file_name=
declare
i int:=1;
begin
loop
i:=i+1;
INSERT INTO T1(id, name) VALUES (i, 'c');
exit when i=1000;
end loop;
end;
/
commit;
[dmdba@DCA ~/DMLOG/DMLOG8.11 2023-08-16 16:36:28]
$ cd $DM_HOME/log
[dmdba@DCA /dm8/log 2023-08-16 16:37:11]
$ ll
总用量 2032
-rw-r--r-- 1 dmdba dinstall 24547 8月 16 2023 dm_DMSERVER_202308.log
-rw-r--r-- 1 dmdba dinstall 4700 8月 16 2023 DmServiceDMSERVER.log
-rw-r--r-- 1 dmdba dinstall 1723859 8月 16 16:36 dmsql_DMSERVER_20230816_205642.log
-rw-r--r-- 1 dmdba dinstall 195 8月 16 2023 dmsvc_sh.log
-rw-r--r-- 1 dmdba dinstall 1000 8月 16 2023 dm_unknown_202308.log
-rw-r--r-- 1 dmdba dinstall 310164 8月 16 2023 install_ant.log
-rwxr-xr-x 1 dmdba dinstall 480 8月 16 2023 install.log
drwxr-xr-x 2 dmdba dinstall 48 8月 16 16:21 sqlpath
[dmdba@DCA /dm8/log 2023-08-16 16:37:11]
$ ll sqlpath/
总用量 544
-rw-r--r-- 1 dmdba dinstall 553316 8月 16 16:21 dmsql_DMSERVER_20230816_205642.log
[dmdba@DCA /dm8/log 2023-08-16 16:37:19]
$ ll dmsql_*
-rw-r--r-- 1 dmdba dinstall 1725051 8月 16 16:37 dmsql_DMSERVER_20230816_205642.log
[dmdba@DCA /dm8/log 2023-08-16 16:37:50]
$ cp dmsql_DMSERVER_20230816_205642.log ./sqlpath/
[dmdba@DCA ~/DMLOG/DMLOG8.11 2023-08-16 16:42:03]
$ java -jar Dmlog_DM_8.11.jar
Linux
创建分析结果目录RESULT_2023_08_16_16_42_8成功!
----------------分析文件:dmsql_DMSERVER_20230816_205642.log----------------
/dm8/log/sqlpath/dmsql_DMSERVER_20230816_205642.log文件已处理:5000行
/dm8/log/sqlpath/dmsql_DMSERVER_20230816_205642.log文件已处理:10000行
----------------创建索引-------------------------
----------------创建索引成功---------------------
----------------开始分析-------------------------
----------------生成时间维度统计结果-------------
----------------生成次数维度统计结果-------------
----------------生成jfree散点图------------------
----------------生成echart统计图-----------------
----------------生成QPS统计图--------------------
----------------生成echart负载图-----------------
----------------TABLENAME:LOG_COMMIT-------------
----------------分析完毕,请查看结果-------------
在同级目录下会生成一个文件夹:
[dmdba@DCA ~/DMLOG/DMLOG8.11 2023-08-16 16:42:10]
$ ll
总用量 11776
-rw-r--r-- 1 dmdba dinstall 711459 9月 6 2022 DMLOG8.11日志分析工具使用手册.docx
-rw-r--r-- 1 dmdba dinstall 7694340 8月 16 2022 Dmlog_DM_8.11.jar
-rw-r--r-- 1 dmdba dinstall 1322 8月 16 2023 dmlog.properties
-rw-r--r-- 1 dmdba dinstall 3274210 10月 8 2021 echarts.js
-rw-r--r-- 1 dmdba dinstall 4326 2月 20 2022 echarts_qps2.html
-rw-r--r-- 1 dmdba dinstall 4278 2月 20 2022 echarts_qps.html
-rw-r--r-- 1 dmdba dinstall 304436 10月 11 2021 jquery.js
-rw-r--r-- 1 dmdba dinstall 14336 8月 18 2022 readme.doc
drwxr-xr-x 2 dmdba dinstall 4096 8月 16 16:42 RESULT_2023_08_16_16_42_8
[dmdba@DCA ~/DMLOG/DMLOG8.11 2023-08-16 16:42:34]
$ ll RESULT_2023_08_16_16_42_8/
总用量 3952
-rw-r--r-- 1 dmdba dinstall 0 8月 16 16:42 DATA_ERR_LOG.txt
-rw-r--r-- 1 dmdba dinstall 11470 8月 16 16:42 data_loading.js
-rw-r--r-- 1 dmdba dinstall 1536 8月 16 16:42 data_QPS.js
-rw-r--r-- 1 dmdba dinstall 40 8月 16 16:42 data_Statistics.js
-rw-r--r-- 1 dmdba dinstall 3274210 8月 16 16:42 echarts.js
-rw-r--r-- 1 dmdba dinstall 4278 8月 16 16:42 echarts_qps.html
-rw-r--r-- 1 dmdba dinstall 6392 8月 16 16:42 echarts_scatter_loading10.html
-rw-r--r-- 1 dmdba dinstall 5257 8月 16 16:42 echarts_scatter_Statistics.html
-rw-r--r-- 1 dmdba dinstall 304436 8月 16 16:42 jquery.js
-rw-r--r-- 1 dmdba dinstall 285920 8月 16 16:42 '\LOG_SCATTER_PLOT.png'
-rw-r--r-- 1 dmdba dinstall 64000 8月 16 16:42 more_than_0_ms_log_result.xls
-rw-r--r-- 1 dmdba dinstall 64000 8月 16 16:42 more_than_0_times_log_result.xls
-rw-r--r-- 1 dmdba dinstall 0 8月 16 16:42 SQL_ERR_LOG.txt
图表在:
echarts_qps.html
echarts_scatter_Statistics.html
相关的SQL 在:
more_than_0_ms_log_result.xls (大于0ms,按时间排序)
more_than_0_times_log_result.xls (按次数排序)
达梦社区技术https://eco.dameng.com
文章
阅读量
获赞