注册
SQL日志的收集与分析
培训园地/ 文章详情 /

SQL日志的收集与分析

天涯 2022/11/09 1500 1 0

SQL日志的收集与分析
达梦数据库可以根据相应的配置,记录保存系统运行过程中的所有(或者部分)SQL语句。并且有友善的慢日志分析工具,方便的找出执行时间长或执行频率高的SQL语句,减少了DBA的大量工作。可按以下两步实现这个功能:
1) 开启慢日志功能
2) SQL日志的分析
详细步骤如下
1、 开启慢日志功能
1) 设置SQL 过滤规则,只记录必要的SQL
参考命令:SF_SET_SYSTEM_PARA_VALUE(‘SQL_TRACE_MASK’,‘2:3:22:25:28’,0,1);
2) 设置异步日志(同步日志会严重影响系统效率,生产环境慎用)
参考命令:SELECT SF_SET_SYSTEM_PARA_VALUE(‘SVR_LOG_ASYNC_FLUSH’,1,0,1);
3) 设置只记录执行时间超过 200ms 的语句(时间可灵活调整)
参考命令:SELECT SF_SET_SYSTEM_PARA_VALUE(‘SVR_LOG_MIN_EXEC_TIME’,200, 0,1);
4) 开启sql 日志SVR_LOG
参考命令:SP_SET_PARA_VALUES(1,’SVR_LOG’,1);
如收集完成,关闭命令为:Sp_set_para_values(1,’SVR_LOG’,0);
5) 查询以上语句设置是否生效的命令为:
SELECT * FROM V$DM_INI where para_name=‘SVR_LOG_ASYNC_FLUSH’;
SELECT * FROM V$DM_INI where para_name=‘SQL_TRACE_MASK’;
SELECT * FROM V$DM_INI where para_name=‘SVR_LOG_MIN_EXEC_TI ME’;
6) 记录的慢SQL日志文件为“/dm8/dmdbms/log/dmsqlxxx.log”,目录根据实际安装位置定。

2、 SQL日志的分析
日志收集完成后即可将其拷贝到本地进行分析,我这里用的jar包工具,步骤如下:
1、 创建一个测试库, 页大小设置为 32k
2、 将生产库生成的 dmsql 慢日志, 通过jar包如”Dmlog_DM7_6.0.jar” 入库,根据向导输入相应值即可,参考如下
image.png
image.png
3、 入库完毕后, 会生成分析好的慢 sql 的 excel 文件
image.png
image.png
4、 此时从表格中找出需要优化的语句即可。
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服