(1)修改配置文件
进入数据库文件目录,找到sqllog.ini
修改为如下格式:
BUF_TOTAL_SIZE = 10240 #SQLs Log Buffer Total Size(K)(1024~1024000)
BUF_SIZE = 1024 #SQLs Log Buffer Size(K)(50~409600)
BUF_KEEP_CNT = 6 #SQLs Log buffer keeped count(1~100)
[SLOG_ALL]
FILE_PATH = /dm/dmdbms/logcommit #自定义生成的sql日志路径
PART_STOR = 0
SWITCH_MODE = 2
SWITCH_LIMIT = 256
ASYNC_FLUSH = 1
FILE_NUM = 10 #总共记录的文件个数,当文件达到这个设定值以后,再生成新的文件时,会删除最早的日志文件
ITEMS = 0
SQL_TRACE_MASK = 1
MIN_EXEC_TIME = 0
USER_MODE = 0
USERS =
(2)修改SVR_LOG参数
disql登录数据库
执行:
sp_set_para_value(1,'SVR_LOG',1); #开启SVR_LOG
sp_refresh_svr_log_config(); #读取sqllog.ini,刷新配置
(3)将FILE_PATH产生的SQL日志打包,发送至Windows环境,通过cmd执行SQL分析工具的Jar包,对SQL日志进行分析,SQL分析工具下载链接:https://pan.baidu.com/s/1xa3nE_YJpuWPi7wKzJQufg 提取码:0eld
D:\DM\Tools\SQL分析工具>java -jar Dmlog_DM7_6.0.jar
############################# dm7日志分析程序使用说明 ########################
###
### 1.请确认sql trace参数,确保每条语句后紧跟sql语句时间: 1:25
### 2.本程序建表log_commit进行分析
### 3.本程序建表前会删除同名表,请做好备份 !
### 4.请使用页大小为32k的DM7进行分析 !
### 5.结果中sql语句背景为黄色的表示sql长度超过30000,已截断 !
### 6.截断的语句会保存到文本文件中,如第一条截断会生成Q1.txt !
### 7.本程序生成的所有文件存放在当前目录下的RESULT_$DATE目录下 !
### 8.本程序只能连测试环境进行分析,切忌连生产环境!!
###
############################# 说明完毕,请使用!##############################
分析非MPP产生的日志请输入0,MPP产生的日志请输入1:
0
使用本机默认DM7数据源请输入0,指定数据源请输入1:
1
请输入IP地址:
192.168.100.5
请输入端口号:
5237
请输入用户名:
sysdba
请输入密码:
SYSDBA
根据日志入库生成分析结果请输入0,根据表中已有数据直接生成分析结果请输入1:
0
请输入存放SQL日志的文件夹绝对路径,并保证文件夹中只有SQL日志文件:
D:\DM\dmdql
您想分析多少毫秒以上的SQL语句:
200
您想分析执行多少次以上的SQL语句:
1
您是否需要替换SQL语句中的参数:
1
(4)SQL分析结果会保存在“RESULT_日期”目录下
可以根据生成的分析结果对慢SQL进行优化