首页 > 数据库 >如何在达梦数据库中追踪慢SQL

如何在达梦数据库中追踪慢SQL

时间:2023-08-16 19:45:00浏览次数:37  
标签:BUF 数据库 ini 设置 SQL 日志 sqllog 追踪

在达梦数据库中,我们可以通过开启日志记录和设置最小执行时间来追踪慢SQL。下面是具体的步骤:

1. 修改dm.ini文件

使用以下命令编辑dm.ini文件:

cd /home/dmdba/dmdbms/data/DAMENG/
vim dm.ini

在dm.ini文件中找到以下两个参数并进行修改:

SVR_LOG_NAME = SLOG_ALL
SVR_LOG = 1
  • SVR_LOG_NAME:指定要使用的sqllog.ini中的sqllog sys名称。
  • SVR_LOG:指定是否打开Sql Log sys,1表示开启,0表示关闭。

2. 修改sqllog.ini文件

使用以下命令编辑sqllog.ini文件:

cd /home/dmdba/dmdbms/data/DAMENG/
vim sqllog.ini

在sqllog.ini文件中找到以下参数并进行修改:

BUF_TOTAL_SIZE = 10240
BUF_SIZE = 1024
BUF_KEEP_CNT = 6
  • BUF_TOTAL_SIZE:设置SQL日志缓冲区总大小(单位:KB)。
  • BUF_SIZE:设置每个缓冲区的大小(单位:KB)。
  • BUF_KEEP_CNT:设置保留的日志缓冲区个数。

然后,在文件的末尾添加以下配置:

[SLOG_ALL]
FILE_PATH = ../log
PART_STOR = 0
SWITCH_MODE = 2
SWITCH_LIMIT = 128
ASYNC_FLUSH = 1
FILE_NUM = 5
ITEMS = 0
SQL_TRACE_MASK = 1
MIN_EXEC_TIME = 2
  • FILE_PATH:指定日志文件的保存路径。
  • SWITCH_MODE:设置日志切换模式,2表示使用切换和详细模式。
  • SWITCH_LIMIT:设置日志切换的限制大小(单位:MB)。
  • ASYNC_FLUSH:设置是否异步刷新日志缓冲区,1表示开启,0表示关闭。
  • FILE_NUM:设置日志文件数量。
  • SQL_TRACE_MASK:设置SQL追踪掩码,1表示追踪全部SQL语句。
  • MIN_EXEC_TIME:设置记录执行时间超过多少秒的SQL。

3. 重启达梦服务

使用以下命令重启达梦服务:

cd /home/dmdba/dmdbms/bin
./DmServiceDMSERVER restart

完成上述步骤后,达梦数据库将开始记录执行时间超过设定阈值的SQL语句。相关的日志将保存在指定的日志文件中。

通过以上配置,在达梦数据库中你可以轻松地追踪慢SQL,并对其进行分析和优化。这将帮助你提高数据库的性能和效率。

注意:在实际生产环境中,追踪慢SQL可能会对系统性能产生一定影响,因此建议在非高峰期进行该操作,并根据需要调整日志记录的参数。

标签:BUF,数据库,ini,设置,SQL,日志,sqllog,追踪
From: https://www.cnblogs.com/n00dle/p/17636036.html

相关文章

  • Golang之数据库转换结构体工具table2struct
    另外一个根据json生成对应结构体在线工具: https://mholt.github.io/json-to-go/ 安装:gogetgithub.com/gohouse/converter或者下载对应平台的二进制文件https://github.com/gohouse/converter/releases 引入该包进行转换的使用方式可以参考github上的使用示例,为......
  • java配置数据库
    server:port:8888spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/ri?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2......
  • SQL:DAC模式登陆SQL SERVER 2012 批量执行SQL 脚本文件
    rem将当前目录下的所有*.SQL文件执行一次,并将结果输出文件remfor循环执行SQL命令文件echo=======Begin===========for%%iin(*.sql)do(sqlcmd-A-SLOCALHOST-USA-Pyourpassword-iD:\SQL\IN\%%i-oD:\SQL\OUT\%%i@echoFileName%%i)echo=======end......
  • SQL注入-mysql绕过函数注入
    1.判断注入点通过测试发现,这里过滤了空格和等于号。所以咱们用/**/代替空格,用like代替=,最后将构造的语句进行url编码,使用的是小葵转化工具。所以咱们构造如下语句。//and//1//like//1结果如下图,页面正常显示。接着咱们再构造如下语句。/**/and/**/1/**/like/**/2发现页面报错,说明存......
  • sql row_number(),rank(),row_number()的区别
    第一个,row_nubmer(),这个排序函数的特点是相同数据,先查出的排名在前,没有重复值。像我们这里呢sal相同,先查出来的数据的rank排名优先。如下图:partitionby相当于分组查询第二个,rank()函数,是跳跃排序,相同数据(这里为sal列相同)排名相同,比如并列第1,则两行数据(这里为rank列)......
  • sql复习
    第一章第二件事情:数据库了解1.学习前提条件--会一门语言2.为什么学习数据库?所有的电子设备操作核心----数据编程语言如何进行数据处理:1)--控制台打印数据2)--变量3)---数组4)---Java---集合框架--临时......
  • 如何调整MySQL InnoDB缓冲池大小?如何监控缓冲池效率?常用的warm-up策略有哪些?
    如何调整MySQLInnoDB缓冲池大小?调整InnoDB缓冲池是优化InnoDB性能的关键步骤。InnoDB缓冲池是InnoDB存储引擎在内存中缓存数据和索引的地方,适当地调整它可以大大提高数据库的性能。以下是调整InnoDB缓冲池的步骤和建议:确定合适的大小:InnoDB缓冲池应该设置......
  • MySQL---索引优化与查询优化(子查询优化)
    索引优化与查询优化子查询优化示例:优化后排序优化注意:1、orderby且不使用limit且数据量比较大时,如果select内容和索引字段不匹配,将会进行回表,优化器将不会使用索引,索引失效;......
  • 一个十分简单的增删改查系统(含MYSQL数据库安装教程)
    一个十分简单的增删改查系统(nodejs+vue)该系统采用前后端分离的方式,实现最基本的增、删、改、查功能。前端使用vue框架搭建,后端使用nodejs,数据库用mysql1.准备工作1.1安装nodejs下载nodejs,官网如下Node.js(nodejs.org)选择长期维护版,下载之后直接下一步下一步就行了......
  • 在core项目下通过Dapper对mysql执行批量操作 报at MySql.Data.MySqlClient.MySqlComma
     在core项目下通过Dapper对mysql执行批量操作一直报异常  报PushService=>UpdateKeyWordProductCountTask=>错误信息:Fatalerrorencounteredduringcommandexecution.;;;堆栈信息:atMySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehaviorbehavior)at......