一、 说明
1、需要有jdk环境,能够运行该jar工具包
2、库的页大小为32(小于32会出问题报错)
3、该工具只能分析sp_set_para_value(1,‘svr_log’,1)打开的dmsql_DMSERVER日志
4、选择的日志路径下只能要分析的日志不能有其他文件,可以有多个日志
5、在sql中DML、DQL操作后,记得commit;
6、分析结束记得关闭sp_set_para_value(1,‘svr_log’,0)
7、分析结果会在运行jar包路径下
8、不要再生产环境中使用本工具,因为本工具的运行会对生产环境的数据库造成压力。
二、 修改sqllog.ini文件
BUF_TOTAL_SIZE = 10240 # SQL 日志 BUFFER 占用空间的上限
BUF_SIZE = 1024 #一块 SQL 日志 BUFFER 的空间大小
BUF_KEEP_CNT = 6 #系统保留的 SQL 日志缓存的个数
[SLOG_ALL]
FILE_PATH = …/log #日志文件所在的文件夹路径
PART_STOR = 0
SWITCH_MODE = 1
SWITCH_LIMIT = 300000
ASYNC_FLUSH = 1
FILE_NUM = 30
ITEMS = 0
SQL_TRACE_MASK = 2:3:23:25 #LOG 记录的语句类型掩码
MIN_EXEC_TIME = 0 #记录的最小语句执行时间
USER_MODE = 0
USERS =
SQL_TRACE_MASK设置的是跟踪的日志类型,比如可以通过设置参数值,仅对insert、delete等操作的日志进行跟踪。具体的参数对于代码,在达梦管理员手册中有体现,可根据具体的业务需求进行调整。
三、 开启SQL日志
使用disql或者manager工具,执行语句:
SP_SET_PARA_VALUE(1, ‘SVR_LOG’, 1);
或者修改dm.ini文件中的SVR_LOG=1
如果在服务器运行过程中修改了参数值,需要调用过程才生效,执行:
SP_REFRESH_SVR_LOG_CONFIG()
四、 查看日志
默认会在…/log中生成以dmsql开头的文件,该文件就是跟踪日志文件,将该文件拷贝到本地电脑上,运行工具进行分析。
五、 启动工具分析
以Windows为例,jdk环境变量设置成功后,打开powershell工具,使用命令java -jar 来运行该工具,如图:
注:SQL日志的绝对路径,只需要到路径,不用到文件名。
六、 查看分析结果
在本地的用户目录下,会生成一个名为RESULT_2021_05_27_11_54_21的文件夹,里面的内容便是分析的结果,以xls格式的文件展示,可以很清楚的看到语句执行的过程和效率。