首页 > 数据库 >达梦数据库如何定位查询慢SQL

达梦数据库如何定位查询慢SQL

时间:2024-08-08 16:06:01浏览次数:14  
标签:语句 LOG 数据库 视图 SQL SVR 达梦

数据库日常运维中,常常需要对数据库的性能和负载进行监控和优化,因此,能够及时采集发现慢SQL很重要。达梦有三种方式,可以获取数据库慢SQL。
第一种,利用达梦的SQL日志
如果将 DM 数据库配置文件中的参数 SVR_LOG 设置为打开,则系统还会在 log 目录下生成名为 dmsql_实例名_日期_时间.log 的 SQL 日志文件。例如,dmsql_DMSERVER_20210226_102712.log。在该文件中记录了启用 SVR_LOG 之后数据库接收到的所有 SQL 语句等信息,DBA 可以通过分析该文件来帮助解决问题。

所有节点修改sqllog.ini到实例路径下
vi /data/dmdb/sqllog.ini
BUF_TOTAL_SIZE = 10240
BUF_SIZE = 1024
BUF_KEEP_CNT = 6
[SLOG_ALL]
FILE_PATH = ../log
PART_STOR = 1
SWITCH_MODE = 2
SWITCH_LIMIT = 512
ASYNC_FLUSH = 1
FILE_NUM = 5
ITEMS = 0
SQL_TRACE_MASK = 2:3:25
MIN_EXEC_TIME = 1500   (记录超过1.5S的SQL语句)
USER_MODE = 0
USERS =
如果对 sqllog.ini 进行了修改,可通过调用以下函数即时生效,无需重启数据库
SP_SET_PARA_VALUE(1,'SVR_LOG',1);
SP_REFRESH_SVR_LOG_CONFIG();

 

第二种,利用v$sessions视图
查看当前会话视图v$sessions,可以看到正在执行的SQL的耗时。

第三种,v$long_exec_sqls视图或V$SYSTEM_LONG_EXEC_SQLS视图
在 打 开 监 控 开 关 ( ENABLE_MONITOR=1 ) 后 , 可 以 通 过 查 询 动 态 视 图V$LONG_EXEC_SQLS 或 V$SYSTEM_LONG_EXEC_SQLS 来确定高负载的 SQL 语句。前者显示最近 1000 条执行时间较长的 SQL 语句,后者显示服务器启动以来执行时间最长的 20条 SQL 语句。

select * from v$sql_history; 也可以看到最近的10000条SQL语句,TIME_USED是耗时

 

标签:语句,LOG,数据库,视图,SQL,SVR,达梦
From: https://www.cnblogs.com/xuchuangye/p/18349129

相关文章

  • 推荐一个创新高效的开源数据翻译工具,一个注解搞定数据翻译,减少30%的SQL代码量
    前言在软件开发中,数据翻译是一个常见且关键的需求,尤其是在处理数据库字段与用户界面显示之间的转换时。然而,传统的数据翻译方式往往涉及到繁琐的SQL联表查询,这不仅增加了数据库的负担,也使得代码变得复杂难以维护。为了解决这一问题,提高开发效率,减少不必要的SQL代码量,一款新的......
  • 睡眠公开数据库
    前言笔者自己整理的睡眠神经影像相关的公开数据库,可以用来进行机器学习或者神经影像的研究。其中的被试群体包括:目录睡眠剥夺健康人群年轻成年健康人群健康人群儿童OSA(阻塞性睡眠障碍)患者怀孕第36周妇女大学生认知障碍(AD,dementia,adhd…)老年人群嗜睡症与健康人......
  • 如何在python中使用jdbc jar文件连接informix数据库
    有什么想法如何使用jdbcjar文件连接到informix数据库吗?在python我尝试了jaydebeapi,当我执行时:conn=jaydebeapi.connect('com.informix.jdbc.IfxDriver',myurl,['user','pass'],jdbc_driver_path)...然后从表中选择数据的其余代码当我执行myscript.py它只......
  • 【原创】java+swing+mysql教材管理系统设计与实现
    个人主页:程序员杨工个人简介:从事软件开发多年,前后端均有涉猎,具有丰富的开发经验博客内容:全栈开发,分享Java、Python、Php、小程序、前后端、数据库经验和实战开发背景:随着高校教育的发展,学校规模越来越大,管理任务也越来越复杂。教材管理作为高校管理中的重要一环,其复杂性......
  • MySQL 常见日志清理策略
    前言:MySQL数据库服务器使用多种类型的日志来记录操作和事件,这对于故障诊断、审计和性能分析非常重要。然而,这些日志文件会随着时间的推移而不断增长,可能会占用大量的磁盘空间。因此,定期清理这些日志是必要的,本篇文章我们一起来学习下如何清理MySQL中的日志文件。二进制日志(......
  • kubernetes集群部署postgre 12.6数据库服务
    背景:因业务上线需要,研发中心要求在kubernetes测试集群部署一个postgre12.6的数据库,用于业务功能调试。一、实施部署postgre数据库: 1、拉取postgre12.6的镜像:[root@harbor-02~]#dockerpullregistry.cn-hangzhou.aliyuncs.com/images-speed-up/postgres:12.62017-l......
  • 基于SpringBoot+MySQL+SSM+Vue.js的校园二手图书交易管理系统(附论文)
    获取见最下方名片信息获取见最下方名片信息获取见最下方名片信息演示视频基于SpringBoot+MySQL+SSM+Vue.js的校园二手图书交易管理系统(附论文)技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+M......
  • 基于SpringBoot+Vue+MySQL的在线网盘系统
    获取见最下方名片信息获取见最下方名片信息获取见最下方名片信息演示视频基于SpringBoot+Vue+MySQL的在线网盘系统技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+SpringBoot文字描述......
  • ignite系列之19-数据源扩展Postgresql
    storeFactory.setDialect(dialect);storeFactory.setDataSourceFactory(newDefaultDataSourceFactory((Object)null));storeFactory.setCacheName(igniteTable.tableName());importjavax.cache.configuration.Factory;publicclassDefaultDataSourceFactory<T>impl......
  • Investigating Locks in MySQL
    InvestigatingLocksinMySQLhttps://emmer.dev/blog/investigating-locks-in-mysql/AcrashcourseonlocksMySQL(andmostrelationaldatabases)haveafewdifferenttypesoflockstolimitconcurrentaccessfromdifferentsessions,protectingschemaand......