跟踪日志文件是一个纯文本文件,以 ‘dmsql_实例名_日期_时间命名’,默认生成在 DM 安装目录的 log 子目录下。跟踪日志内容包含系统各会话执行的 SQL 语句、参数信息、错误信息、执行时间等。跟踪日志主要用于分析错误和分析性能问题,基于跟踪日志可以对系统运行状态进行分析。跟踪日志配置方式如下:
1、配置 dm.ini 文件,设置 SVR_LOG = 1 以启用 sqllog.ini 配置,该参数为动态参数,可通过调用数据库函数直接修改。
SP_SET_PARA_VALUE(1,‘SVR_LOG’,1);
2、配置数据文件目录下的 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 = …/log
PART_STOR = 0
SWITCH_MODE = 1
SWITCH_LIMIT = 100000
ASYNC_FLUSH = 0
FILE_NUM = 200
ITEMS = 0
SQL_TRACE_MASK = 2:3:23:24:25
MIN_EXEC_TIME = 0
USER_MODE = 0
USERS =
注:为避免记录 SQL log 对服务器产生较大的影响,可以配置异步日志刷新(参数 ASYNC_FLUSH 设置为1
3、如果对 sqllog.ini 进行了修改,可通过调用以下函数即时生效,无需重启数据库。
SP_REFRESH_SVR_LOG_CONFIG();
1、部署DMLOG 工具包:
上传服务器后,直接解压包即可:
Unzip sqllog日志解析工具V1.4.6_20251031_1315.zip
2、配置yml 参数文件
3、执行分析
java -jar sql_realtime_parse_tool-1.4.6_20251031.jar
4、到处有SQL 语句表格
登录http://localhost:9000
导出SQL 查询分析表格。表格中记录了从跟踪日志中分析得到的所有执行的SQL。
查询分析表
一个轻量、高效的 SQL 日志导出 CLI 工具:解析达梦数据库 SQL 日志(流式处理),导出到 CSV / SQLite。
高性能:单线程流式处理,~155万条/秒吞吐量(mmap + SIMD + 零分配优化)
输入灵活:支持单文件、目录(自动扫描 )或 glob 模式(如 ).log./logs/*.log
易于使用:清晰的 TOML 配置,三步完成导出任务;进度条实时反馈
开箱即用:CSV / SQLite 两种导出器及所有过滤功能均内置,无需额外编译开关
1、部署sqllog2db 工具
Github 下载源码包或者程序包
网址:https://github.com/guangl/dm-database-sqllog2db/releases/tag/v1.0
2、生成默认配置
./sqllog2db-x86_64-linux init -o config.toml
3、修改config 配置文件
必改 SQLLOG的路径,其他按需配置
4、执行分析
sqllog2db run -c config.toml
结果默认会在outputs 下面生成csv 文件
5、查看sqllog.csv 文件
文件内容较多,需手动筛选查看,以tag(SQL类型)和exec_time_ms(执行毫秒)俩个字段进行筛选,SEL 类型和执行毫秒不为空的 结果=DMLOG 里SQL 类型为SEL类型的结果
文章
阅读量
获赞
