达梦数据库SQL日志分析工具Dmlog的使用

2023-05-16

1、使用条件

  1. 运行环境预先安装Java环境;支持liunx和windows系统运行。

说明:推荐使用java1.8版本,linux最小化安装最少要安装打印服务组件,windows下不支持java1.6版本。

  1. SQL日志格式要求确保每条语句后紧跟sql语句时间,因此需确认日志生成的数据库的sql trace参数,建议使用默认参数;
  2. 由于程序运行需要在后台数据库建log_commit表,建表前会删除同名表,因此如果有同名表,请先做好备份;
  3. 选择的日志路径下只能要分析的日志不能有其他文件,可以有多个日志
  4. 不要在生产环境中使用本工具,因为本工具的运行会对生产环境的数据库造成压力
  5. dmlog.properties配置文件中log路径,注意windows下,使用”\\”代替”\”。

2、使用准备

2.1查看JDK安装情况

2.2上传并解压工具包

2.3查看sql日志是否开启

0是未开启,1是开启

开启sql日志

修改/dm8/data/DAMENG/sqllog.ini

设置SVR_LOG参数为1,打开SQL日志

SP_SET_PARA_VALUE(1,'SVR_LOG',1);

调用过程SP_REFRESH_SVR_LOG_CONFIG();对后面新的会话生效

 

验证sql日志是否生效 

 

注意:测试完成后记得关闭

SP_SET_PARA_VALUE(1,'SVR_LOG',0);

2.4 库的页大小为32

3、工具使用

编辑dmlog.properties文件

 

创建log_commit表

CREATE TABLE "SYSDBA"."LOG_COMMIT"

(

"STARTTIME" DATETIME(6),

"SESS" VARCHAR(500),

"SQLSTR" TEXT,

"EXETIME" FLOAT,

"SQLSTR_SUB" VARCHAR(8000),

"ROWCOUNT" VARCHAR(8000),

"SQLSTR_PARA" VARCHAR(8000),

"WAITTIME" VARCHAR(8000),

"EUER" VARCHAR(100),

"OPTYPE" VARCHAR(30)) STORAGE(USING LONG ROW, ON "MAIN", CLUSTERBTR) ;

CREATE  INDEX "IDX_EXETIME_RESULT_2021_10_12_11_22_52" ON "SYSDBA"."LOG_COMMIT"("EXETIME" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;

执行jar包命令

文件生成路径在执行文件所在文件夹中 

 

生成的结果目录下有根据配置的执行时间和执行次数上限值命名的excel文件(xls),报错的SQL和长度超过30000的SQL会另外生成txt文件(txt),echart散点图,QPS折线图及90%平均次数和平均耗时的SQL统计图(html):

两个excel分别是按照最大执行时间和执行次数进行降序排序

优化方法和优化后时间这两列空置,方便SQL优化人员进行优化后的整理和对比。

echarts_scatter_loading10.html为echart散点图每个点的SQL信息可以显示和拷贝

散点图支持

1 筛选SEL/DDL/INS/CAL等分类,只用点击去除或者选择对应类别,即可显示对应sql在图形上分布点;

2 支持散点图区域放大功能,鼠标指定位置,进行滚轮缩放,可以对语句进行方便放大。

3 点击每个点,可获得每个点的SQL详细信息。

4 右上角,可以点击进行保存图片

echarts_scatter_Statistics.html为散点图基础上生成的按照执行90%平均次数和平均耗时的SQL统计图。

 echarts_qps.html为QPS折线图。

达梦学习社区地址:https://eco.dameng.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

达梦数据库SQL日志分析工具Dmlog的使用 的相关文章

  • Postgres 上的 C 语言环境和 Posix 语言环境有什么区别?

    我知道 Postgres 上的数据库区域设置负责国家字符的正确顺序 正确的小写 大写等 但为什么有两种语言中立的语言环境 posix and c 它们之间有什么区别 还是只是一个中立的语言环境有两个不同的名称 UPDATE正如 Magnus
  • 如何使用 ALTER TABLE 添加新列并使其唯一?

    我该如何使用ALTER TABLE添加新列并使其独一无二 取决于 DBMS 但我认为以下内容相当可移植 ALTER TABLE table name ADD column name datatype ALTER TABLE table na
  • 查询从同一表中的另一条记录获取值并按大于间隙阈值的差异进行过滤

    我将数据导入到 MS Access 中的临时表中 如下所示 我添加了需要使用 SQL 查询计算的 Gap 和 Previous Current 列 间隙阈值 是用户输入或范围提供给查询和例如是 300 GlobalID 对 ItemID 进
  • Wordnet sqlite 同义词和示例

    我正在尝试获取给定 wordid 的同义词和示例列表 经过大量的试验和错误 我可以获得所有同义词集的样本 但不是实际的同义词 这是我的查询 它给出了以下结果 select senses wordid senses synsetid sens
  • 日常 MySQL(部分和过滤)复制的最佳实践?

    我有一个相当大的数据库 有超过 40 个表 我只需要复制几个表 5 并且每个表也被过滤 我正在寻找一些复制这些数据的最佳实践 每天就足够了 我可以只选择几个表并为每个表包含一些 WHERE 子句 我正在考虑为每个表启动 mysqldump
  • TSQL:无法对 COUNT(*) 执行聚合函数 AVG 来查找一天中最繁忙的时间

    考虑一个保存日志数据的 SQL Server 表 重要的部分是 CREATE TABLE dbo CustomerLog ID int IDENTITY 1 1 NOT NULL CustID int NOT NULL VisitDate
  • PostgreSQL & regexp_split_to_array + 取消嵌套

    我有这样的绳子 测试1 纽约 X 测试 2 芝加哥 Y 测试 3 宾夕法尼亚州哈里斯堡 Z 我需要的结果是 Column1 Column 2 Column3 Test 1 new york X Test 2 chicago Y Test 3
  • SQL Like 带有子查询

    我怎样才能做到这一点 SELECT FROM item WHERE item name LIKE SELECT equipment type FROM equipment type GROUP BY equipment type 内部子查询
  • Sql批量复制截断小数

    当我使用批量复制将十进制值从 C DataTable 插入 Sql Server 2005 时 值会被截断而不是四舍五入 DataTable 中的数据类型为 Decimal 数据库中的数据类型为Decimal 19 3 数据表中的值为 1
  • 常量值如何影响连接的 ON 子句?

    我最近发现 LEFT JOIN 的 ON 子句可能包含 1 1 等值 这让我感到不安 因为它打破了我对连接功能的看法 我遇到过以下情况的更详细版本 SELECT DISTINCT Person ID FROM Person LEFT JOI
  • 从 $i 获取值,顺序被打乱

    for i 0 i lt count name i some output ommited td td
  • SQL Server查询麻烦,多对多关系

    不知道如何用一行字来表达这个问题 对标题表示歉意 我的数据库中有3个表 例如 Shop Item 商店库存 Shop 和 Item 具有多对多关系 因此 ShopStock 表将它们链接起来 ShopStock 中的字段是 ID ShopI
  • 将子查询的结果插入表中并带有常量

    相关表格的概要如下 我有一个表 我们称之为联接 它有两列 都是其他表的外键 我们将这两列称为 userid 和buildingid 因此 join 看起来像 join userid buildingid 我基本上需要在这个表中插入一堆行 通
  • 如何将 SQL 结果存入 STRING 变量?

    我正在尝试获取 C 字符串变量或字符串数 组中的 SQL 结果 是否可以 我需要以某种方式使用 SqlDataReader 吗 我对 C 函数和所有功能非常陌生 曾经在 PHP 中工作 所以如果可以的话请给出一个工作示例 如果相关 我已经可
  • 从VBA中的数组批量插入到sql中

    我正在尝试在 Excel 中构建一个按钮 将所选区域上传到 SQL Server 中的表中 第一行将自动视为列标题 这件事该怎么继续下去呢 我想要的是简单和超快的上传 这是我的想法 我将选择选定的区域 然后将其保存为 txt 文件 然后对其
  • 标记个体内事件发生后发生的日期

    我有一组长格式的数据 每人几行 人 id 其中事件 事件 1 应该只发生一次 事件发生后 该人不应再有任何数据 如果事件发生后出现任何记录 我想使用名为 flag flag 1 的新变量创建一个查询 例如 下面标记了 id 5 因为在该人的
  • 我不确定在 SQL 中声明这些变量时出了什么问题

    我有以下代码 USE pricingdb go CREATE TABLE dbo Events 060107 2012 Date Time varchar 20 COLLATE SQL Latin1 General CP1 CI AS NU
  • 删除原始数据中部分重复的记录

    我需要删除表中时间间隔为 1 或 2 分钟或相同且必须相同的所有记录ID但保留第一个记录 ID Time SN SD WE FW 10 2014 06 30 19 17 37 000 I 0 100 0 10 2014 06 30 19 1
  • Mysql为简单频繁查询创建排序索引性能

    我正在处理一个包含大约 400 万条消息条目的 mysql 表 并尝试根据时间戳选择最新的 50 条消息 另一个要求是返回的消息不以固定前缀开头 问题是单个查询大约占用 25 的 cpu 并且最多需要 1 5 秒 该查询经常由多个客户端执行
  • SQL:比较不同表中的两个计数

    我有 3 张桌子 一张桌子上有世界上每个国家及其代币 NAME CODE Afghanistan AFG Albania AL Algeria DZ American Samoa AMSA Andorra AND Angola ANG An

随机推荐

  • Ubuntu中代理设置

    当我们没有梯子的时候 xff0c 我们不需要任何代理 xff0c 直接在网络配置中选择禁止或者自动 xff0c 火狐浏览器也选择自动就好 xff0c 当我们使用梯子以后 xff0c 我们得看梯子的代理端口 xff0c 让电脑代理选择手动 x
  • CentOS8 图形界面和命令行切换

    1 查看目前默认的启动默认 systemctl get default 命令行模式 multi user target 图形界面模式 graphical target 2 设置为图形界面模式 systemctl set default gr
  • Java实现微信(主、子商户模式)及支付宝支付

    一 业务需求 实现APP微信 支付宝支付 xff0c 后端需要做生成预支付单 xff0c 响应支付结果 xff1b 微信商户采用子商户模式 二 参考官方文档 微信普通商户 xff1a https pay weixin qq com wiki
  • Java判断整数是否为回文数

    回文数 xff0c 是指一个数的正序 xff08 从左到右 xff09 与其倒序 xff08 从右到左 xff09 相等的数 核心思想是把这个整数倒过来 xff0c 再与这个数进行比较 xff0c 若相等 xff0c 则此数为回文数 xff
  • geoserver集群部署

    geoserver集群部署 环境准备系统准备软件准备插件准备配置jdk安装tomcat部署geoserver安装mqgeoserver配置jms修改tomcat 启动文件新建broker xml放入cluster文件内容如下 三个节点均要新
  • Mathtype闪退、未嵌入office系统问题解决方法

    由于操作系统的设置和之前安装过的东西的不同 xff0c 每个人在安装mathtype时遇到的问题可能也不同 xff0c 本篇文章解决了mathtype的闪退 没有自动嵌入office的问题 安装过后出现的问题 xff1a 一 安装破解版后打
  • 在树莓派上搭建MQTT服务器

    一 MQTT协议 实现MQTT协议需要客户端和服务器端通讯完成 xff0c 在通讯过程中 xff0c MQTT协议中有三种身份 xff1a 发布者 xff08 Publish xff09 代理 xff08 Broker xff09 xff0
  • 树莓派和arduino的串口通信

    一 树莓派环境安装 1 安装GPIO模块 wget https span class token punctuation span span class token operator span sourceforge span class
  • Wifi模块ESP8266-01的初始化和编程环境的搭建

    ESP8266 01引脚图 xff1a Vcc接的是3 3V xff01 一 烧写AT固件 使用烧录工具插进电脑 xff0c 打开固件烧写程序 xff0c 烧入厂家提供的固件 测试 xff1a 打开串口助手XCOM xff0c 插拔TTL转
  • 阿里云平台+NodeMCU(arduino编程)实现MQTT收发【二】烧录NodeMCU

    这里首先要设置好阿里云平台 xff0c 参见上一篇文章 代码可以从这里下载 1 添加esp8266板子 文件 首选项 附加开发板管理器网址 xff0c 输入 xff1a http arduino esp8266 com stable pac
  • 阿里云平台+NodeMCU(arduino编程)实现MQTT收发【三】利用阿里云进行可视化开发

    应用开发 aliyun com 新建 输入应用名称 如果没有项目就新建一个项目 然后就是像PPT一样制作网页 xff0c 其中数据源配置需要关联产品和设备 xff0c 如下图所示 制作好之后发布即可 xff0c 如果不绑定自己的域名则需要登
  • windows10 iis自带的ftp 在使用filezilla的时候提示 550

    windows10 iis自带的ftp 在使用filezilla的时候提示 550 检查防火墙检查IIS的授权规则设置 检查防火墙 检查防火墙对FTP的支持 点击左侧允许应用和功能通过防火墙 在FTP服务器右侧打勾 检查IIS的授权规则设置
  • 【linux】debian安装apache2并创建虚拟站点

    前言 教程将会讲解如何在debian系统上安装apache2并且在80端口部署多个网站 环境准备 1 本次使用的服务器为debian10 2 睿智头脑和一双手 教程步骤 1 更新apt 这里我就不放设置更新源头的了 xff0c 网上一搜一大
  • Springboot整合富文本编辑器wangEditor(上传文件到七牛云)

    背景 最近项目上要用到富文本编辑器 xff0c 开始想用Ueditor 发现需要配置的东西比较多 xff0c 折腾了好久没弄好 xff0c 后来发现wangEditor比较好整合 xff0c 又轻又好用 xff0c 能满足大多需求 xff0
  • Debian10 设置允许root登录

    root登录 因为Bebian默认不允许 root登录 xff0c 修改文件配置 修改gmd3的登录文件 编辑文件 span class token function nano span etc gdm3 daemon conf 修改内容
  • 1487:【例 2】北极通讯网络

    1487 xff1a 例 2 北极通讯网络 时间限制 1000 ms 内存限制 65536 KB 提交数 701 通过数 321 题目描述 原题来自 xff1a Waterloo University 2002 北极的某区域共有 n 座村庄
  • 虚拟机ubuntu18.04突然无法上网了(问题解决)

    问题描述 xff1a VMware虚拟机下Ubuntu18 04突然上不了网的问题 xff1a 如下图所示 xff1a 更改这里的三种连接方式都是这样 分析 xff1a IP冲突或者配置出了问题 xff0c 需重新更新设置 解决 xff1a
  • 视频转GIF动图MATLAB源码

    闲来无事 xff0c 做一个视频转GIF的代码 xff0c 整点花活 xff0c 感觉自己做会很有意思 可以对原视频进行矩形截取 当然 xff0c 实现的方式不唯一 xff0c 此处的供借鉴使用 话不多说 xff0c 直接上代码 注释很详细
  • mybatis-plus 自定义分页

    mybatis plus 自定义分页 实现层Impl span class token annotation punctuation 64 Service span span class token keyword public span
  • 达梦数据库SQL日志分析工具Dmlog的使用

    1 使用条件 运行环境预先安装Java环境 xff1b 支持liunx和windows系统运行 说明 xff1a 推荐使用java1 8版本 xff0c linux最小化安装最少要安装打印服务组件 xff0c windows下不支持java