当前位置: 首页 > article >正文

DM达梦数据库开启SQL日志记录功能

DM达梦数据库开启SQL日志记录功能

配置SQL日志(非必须的配置步骤,与主备集群配置无关,如果没有需求可以跳过配置SQL日志)
sqllog.ini 配置文件用于SQL日志的配置,当且仅当 INI(dm.ini) 参数 SVR_LOG = 1 时使用。SQL日志主要用于慢SQL定位等分析跟踪用途。

SVR_LOG:系统级别配置参数,是否打开SQL日志功能。
  0 表示关闭;
  1 表示打开;
  2 表示按文件中记录数量切换日志文件,日志记录为详细模式;
  3 表示不切换日志文件,日志记录为简单模式,只记录时间和原始语句。

SVR_LOG_NAME:系统级别配置参数,默认为 SLOG_ALL ,使用 sqllog.ini 中预设的模式的名称。

sqllog.ini 主要配置参数

# 所有节点修改 sqllog.ini 
vi /opt/dm/dmdbms/data/testdb/sqllog.ini

BUF_TOTAL_SIZE = 10240
BUF_SIZE = 1024
BUF_KEEP_CNT = 6

[SLOG_ALL]
FILE_PATH = ../log
PART_STOR = 1    #SQL日志分区存储配置参数,0 表示不划分;1 表示 USER,根据不同用户分布存储
SWITCH_MODE = 2    #日志文件切换模式 2 表示按文件大小切换
SWITCH_LIMIT = 512    #文件大小限制、单位MB
ASYNC_FLUSH = 1    #日志刷盘模式,默认1异步刷盘,0表示实时刷盘(要考虑性能影响)
FILE_NUM = 20     #打印日志文件个数,默认5个,建议配置20
ITEMS = 0    #指定一条SQL日志中应包含的内容,位号:位号:位号...,如果配置为 0 表示记录所有的列(记录SQL全部信息),默认 0。其他内容详情参考后面的内容详情介绍
SQL_TRACE_MASK = 1    #打印全部类型SQL日志,默认 1
MIN_EXEC_TIME = 1500    #详细模式下,记录的最小语句执行时间,单位毫秒
USER_MODE = 0    #SQL日志按用户过滤时的过滤模式。0 表示关闭用户过滤;1 表示白名单模式,只记录列出的用户操作的SQL日志;2 表示黑名单模式,列出的用户不记录SQL日志
USERS =     #打开 USER_MODE 时指定的用户列表。格式为:用户名:用户名:用户名...

重启数据库才能生效。

ITEMS支持记录的内容详情:

0 表示记录所有内容
1 TIME 执行的时间
2 SEQNO 服务器的站点号
3 SESS 操作的SESS地址
4 USER 执行的用户
5 TRXID 事务ID
6 STMT 语句地址
7 APPNAME 客户端工具
8 IP 客户端IP
9 STMT_TYPE 语句类型。分别为
[ORA]表示原始语句(服务器从客户端收到的未加分析的语句) 、
[DDL]表示DDL 语句、
[INS]表示INSERT语句、
[DML]表示DML语句、
[CAL]表示CALL语句、
[UPD] 表示UPDATE语句、
[DEL] 表示DELETE 语句、
[SEL]表示SELECT语句、
[LGN]表示登录登出语句
10 INFO 记录内容,记录当前执行的SQL语句
11 RESULT 运行结果,包括运行用时、影响行数和EXEC_ID(可能没有)
12 THRD 线程地址
配置示例:ITEMS = 1:4:5:6:7:8:10


另外也可以在线动态修改参数的方式打开、无需重启数据库、修改立即生效:
修改动态参数开启SQL日志记录功能:
disql SYSDBA/'"password"'@localhost:5236
call SP_SET_PARA_VALUE(1,'SVR_LOG',1);

查询日志记录功能是否开启(0 表示关闭;1/2/3 表示开启):

-- 修改配置(打开)
SP_SET_PARA_VALUE(1,'SVR_LOG',1);
或者(按需)
SP_SET_PARA_VALUE(1,'SVR_LOG',2);

-- 查询配置
SELECT SF_GET_PARA_VALUE (1, 'SVR_LOG');


关闭SQL日志记录功能:
SP_SET_PARA_VALUE(1,'SVR_LOG',0);
 

http://www.lryc.cn/news/2397858.html

相关文章:

  • 00 QEMU源码分析中文注释与架构讲解(v8.2.4版本)
  • 【五模型时间序列预测对比】Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN
  • 深入了解MCP基础与架构
  • 实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.13 R语言解题
  • 怎么选择合适的高防IP
  • 【java面试】MySQL篇
  • 贪心算法应用:欧拉路径(Fleury算法)详解
  • 【算法设计与分析】实验——二维0-1背包问题(算法分析题:算法思路),独立任务最优调度问题(算法实现题:实验过程,描述,小结)
  • P12592题解
  • ffmpeg命令(二):分解与复用命令
  • 【Git】View Submitted Updates——diff、show、log
  • deepseek原理和项目实战笔记2 -- deepseek核心架构
  • 在 MATLAB 2015a 中如何调用 Python
  • 房屋租赁系统 Java+Vue.js+SpringBoot,包括房屋类型、房屋信息、预约看房、合同信息、房屋报修、房屋评价、房主管理模块
  • 华为OD机试真题——生成哈夫曼树(2025B卷:100分)Java/python/JavaScript/C/C++/GO六种最佳实现
  • react与vue的渲染原理
  • 我提出结构学习的思路,意图用结构学习代替机器学习
  • Outbox模式:确保微服务间数据可靠交换的设计方案
  • 数据可视化的定义和类型
  • sqlite-vec:谁说SQLite不是向量数据库?
  • Redis最佳实践——性能优化技巧之监控与告警详解
  • R3GAN训练自己的数据集
  • MATLAB实战:Arduino硬件交互项目方案
  • bert扩充或者缩小词表
  • 什么是 TOML?
  • git怎么合并两个分支
  • 1.文件操作相关的库
  • Pytorch中一些重要的经典操作和简单讲解
  • 【容器docker】启动容器kibana报错:“message“:“Error: Cannot find module ‘./logs‘
  • 基于bp神经网络的adp算法