如何在达梦数据库中追踪慢SQL
阅读原文时间:2023年08月17日阅读:1

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

使用以下命令编辑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表示关闭。

使用以下命令编辑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。

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

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

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

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

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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章