达梦数据库-学习-15-大内存SQL相关视图介绍

目录

一、环境信息

二、介绍

三、数据字典表

1、V$MEM_POOL

2、V$SQL_STAT

3、V$SQL_STAT_HISTORY

4、V$LARGE_MEM_SQLS

5、V$SYSTEM_LARGE_MEM_SQLS

四、总结


一、环境信息

名称
CPU12th Gen Intel(R) Core(TM) i7-12700H
操作系统CentOS Linux release 7.9.2009 (Core)
内存4G
逻辑核数2
DM版本1          DM Database Server 64 V8
2          DB Version: 0x7000c
3          03134284194-20240703-234060-20108
4          Msg Version: 12
5          Gsu level(5) cnt: 0

二、介绍

在工作中我们经常会遇到一些客户询问达梦进程占用了很多内存,该如何排查和降低,这种情况我们一般可以从大内存SQL、内存泄漏、数据库参数配置三层去考虑这个问题。我们这次就只讲大内存SQL的定位和监测的相关视图。

三、数据字典表

1、V$MEM_POOL

显示所有的内存池信息。

序号说明
1ADDR内存结构地址
2NAME内存池名称
3IS_SHARED是否是共享的
4CHK_MAGIC是否打开了内存校验
5CHK_LEAK是否打开了泄漏检查
6IS_OVERFLOW是否已经触发 BAK_POOL 的分配
7IS_DSA_ITEM是否是 DSA(Dameng Share Area)项目, 目前一律 为 N
8ORG_SIZE初始大小,单位为字节数
9TOTAL_SIZE当前总大小,单位为字节数
10RESERVED_SIZE当前分配出去的大小,单位为字节数
11DATA_SIZE当前分配出去的数据占用大小,单位为字节数
12EXTEND_SIZE每次扩展的块大小,单位为字节数
13TARGET_SIZE可以扩展到的大小,单位为字节数。当 TARGET_SIZE 为 0 时,不限制此内存池的扩展;

对于共享内存池, 即使 TARGET_SIZE 不为 0,也不限制其扩展, TARGET_SIZE 用于提示系统尽快把内存占用释放到 TARGET_SIZE 以下
14EXTEND_LEN扩展链长度
15N_ALLOC累计分配了几次
16N_EXTEND_NORMALTARGET 范围内累计扩展次数
17N_EXTEND_EXCLUSIVE超过 TARGET 累计扩展次数
18N_FREE累计释放次数
19MAX_EXTEND_SIZE保留字段,始终返回 NULL
20MIN_EXTEND_SIZE保留字段,始终返回 NULL
21FILE_NAME本池创建点所在的源文件名
22FILE_LINE创建点所在的代码行
23CREATOR创建者线程号
24EXTEND_MODE内存池的扩展模式
O:扩展时从操作系统(OS)申 请扩展块;
S:扩展时从共享池(Share Pool)申请扩 展块

常用SQL:

SELECTA.CREATOR                          ,B.SQL_TEXT                         ,SUM(A.TOTAL_SIZE)/1024/1024||'M' ALL_SIZE,SUM(A.DATA_SIZE) /1024/1024||'M' ACTUAL_SIZE
FROMV$MEM_POOL A,V$SESSIONS B
WHEREA.CREATOR = B.THRD_ID
GROUP BYA.CREATOR,B.SQL_TEXT
ORDER BYALL_SIZE DESC;

2、V$SQL_STAT

语 句 级 资 源 监 控 内 容 。 记 录 当 前 正 在 执 行 的 SQL 语 句 的 资 源 开 销 。 需 要 ENABLE_MONITOR=1 才 开 始 监 控 。 针 对 63~68 列 中 的 监 控 项 , 还 需 开 启 参 数 MONITOR_SQL_EXEC=1、ENABLE_MONITOR_DMSQL=1 才开始监控。

序号说明
1SESSID会话 ID,系统内部标识
2SESS_SEQ会话序列号,每创建一个会话,系统自动为其生成一个全局递增的序列号
3SQL_TXT语句
4SQL_ID语句编号
5EXEC_TIME以系统时间统计的执行时间,单位毫秒
6PARSE_CNT解析次数
7PARSE_TIME以系统时间统计的解析时间,单位毫秒
8HARD_PARSE_CNT硬解析次数
9HARD_PARSE_TIME硬解析时间,单位毫秒
10SEL_SQL_CNT执行的查询语句总数
11INS_SQL_CNT执行的插入语句总数
12DEL_SQL_CNT执行的删除语句总数
13UPD_SQL_CNT执行的更新语句总数
14DDL_SQL_CNT执行的 DDL 语句总数
15SEL_IN_PL_CNT执行的语句块中的查询语句总数
16INS_IN_PL_CNT执行的语句块中的插入语句总数
17DEL_IN_PL_CNT执行的语句块中的删除语句总数
18UPD_IN_PL_CNT执行的语句块中的更新语句总数
19DYN_EXEC_CNT执行的语句块中的动态执行语句总数
20DDL_EVT_TRG_CNTDDL 事件触发器触发次数
21STMT_BF_TRG_CNT语句级 BEFORE 触发器触发次数
22STMT_AF_TRG_CNT语句级 AFTER 触发器触发次数
23ROW_BF_TRG_CNT行级 BEFORE 触发器触发次数
24ROW_AF_TRG_CNT行级 AFTER 触发器触发次数
25INSTEAD_OF_TRG_CNTINSTEAD OF 触发器触发次数
26OPTIMIZED_SORT_CNT最优排序次数
27ONE_WAY_SORT_CNT单路排序次数
28MULTI_WAY_SORT_CNT多路排序次数
29RUNTIME_OBJ_ALLOC_CNT运行时对象创建次数
30RUNTIME_OBJ_SIZE_CNT运行时对象占用空间大小,单位 BYTE
31RUNTIME_OBJ_RECLAIM_CNT运行时对象回收次数
32LONG_ROW_CVT_CNT超长记录字段压缩次数
33LOGIC_READ_CNT逻辑读页次数
34PHY_READ_CNT物理读页次数
35PHY_MULTI_READ_CNT物理读多页次数
36RECYCLE_LOGIC_READ_CNT临时表空间逻辑读次数
37RECYCLE_PHY_READ_CNT临时表空间物理读次数
38HBUF_LOGIC_READ_CNTHBUF 逻辑读次数
39HBUF_PHY_READ_CNTHBUF 物理读次数
40HBUF_PHY_WRITE_CNTHBUF 物理写次数
41HBUF_PHY_READ_SIZEHBUF 物理读总大小,单位 BYTE
42HBUF_PHY_WRITE_SIZEHBUF 物理写总大小,单位 BYTE
43UNDO_PAGE_CHANGES_CNTundo 页变化次数
44RECYCLE_PAGE_CHANGES_CNT临时页变化次数
45DATA_PAGE_CHANGES_CNT数据页变化次数
46IO_WAIT_TIMEI/O 等待时间(MS)
47TAB_SCAN_CNT统计全表扫描次数
48HASH_JOIN_CNT统计哈希连接的次数
49BTR_SPLIT_CNTB 树分裂次数
50BTR_PAGE_DISCARD_CNT数据页丢弃次数
51BTR_LEVEL_DISCARD_CNTB 树层丢弃次数
52BTR_LEFT_TRY_CNTB 树左移次数
53BTR_DIRECT_UPDATE_CNTB 树直接更新次数
54BTR_INSDEL_UPDATE_CNTB 树插入删除更新次数
55BTR_UPDATE_2ND_CONFLICT_C NT二级索引更新冲突次数
56UPDATE_MVCC_RETRY_CNT多版本更新重试次数
57DELETE_MVCC_RETRY_CNT多版本删除重试次数
58MAX_MEM_USED内存使用峰值(KB)
59VIS_RECS_CNT可见数据获取次数
60VIS_RECS_TIME可见数据获取时间,单位微秒
61INVIS_RECS_CNT不可见数据获取次数
62INVIS_RECS_TIME不可见数据获取时间,单位微秒
63NET_BYTES_RECV从客户端接收的数据字节数
64NET_BYTES_SEND向客户端发送的数据字节数
65NET_ROUNDTRIPS和客户端之间的数据往返传送次数
66REDO_SIZEREDO 日志大小,单位字节
67PARSE_ELAPSD以 CPU 时钟统计的解析时间,单位毫秒
68EXEC_CPU以 CPU 时钟统计的执行时间,单位毫秒
69PLN_ADDR执行计划地址,与 V$CACHEPLN 的 CACHE_ITEM 列对应

3、V$SQL_STAT_HISTORY

语句级资源监控内容。记录历史SQL语句(不含存储过程中的SQL)执行的资源开销。需要ENABLE_MONITOR=1才开始监控。单机最大行数为10000。其中5~62、64和66列中的监控项,可以通过SP_SET_SQL_STAT_THRESHOLD()设置监控阈值,当资源超过设置的阈值才开始统计并记录该项。
当前已设置的监控阈值内容,可以通过查询视图V$SQL_STAT_THRESHOLD进行查看。

序号说明
1SESSID会话 ID,系统内部标识
2SESS_SEQ会话序列号,每创建一个会话,系统自动为其生成一个全局递增的序列号
3SQL_TXT语句
4SQL_ID语句编号
5EXEC_TIME以系统时间统计的执行时间,单位毫秒
6PARSE_CNT解析次数
7PARSE_TIME以系统时间统计的解析时间,单位毫秒
8HARD_PARSE_CNT硬解析次数
9HARD_PARSE_TIME硬解析时间,单位毫秒
10SEL_SQL_CNT执行的查询语句总数
11INS_SQL_CNT执行的插入语句总数
12DEL_SQL_CNT执行的删除语句总数
13UPD_SQL_CNT执行的更新语句总数
14DDL_SQL_CNT执行的 DDL 语句总数
15SEL_IN_PL_CNT执行的语句块中的查询语句总数
16INS_IN_PL_CNT执行的语句块中的插入语句总数
17DEL_IN_PL_CNT执行的语句块中的删除语句总数
18UPD_IN_PL_CNT执行的语句块中的更新语句总数
19DYN_EXEC_CNT执行的语句块中的动态执行语句总数
20DDL_EVT_TRG_CNTDDL 事件触发器触发次数
21STMT_BF_TRG_CNT语句级 BEFORE 触发器触发次数
22STMT_AF_TRG_CNT语句级 AFTER 触发器触发次数
23ROW_BF_TRG_CNT行级 BEFORE 触发器触发次数
24ROW_AF_TRG_CNT行级 AFTER 触发器触发次数
25INSTEAD_OF_TRG_CNTINSTEAD OF 触发器触发次数
26OPTIMIZED_SORT_CNT最优排序次数
27ONE_WAY_SORT_CNT单路排序次数
28MULTI_WAY_SORT_CNT多路排序次数
29RUNTIME_OBJ_ALLOC_CNT运行时对象创建次数
30RUNTIME_OBJ_SIZE_CNT运行时对象占用空间大小,单位 BYTE
31RUNTIME_OBJ_RECLAIM_CNT运行时对象回收次数
32LONG_ROW_CVT_CNT超长记录字段压缩次数
33LOGIC_READ_CNT逻辑读页次数
34PHY_READ_CNT物理读页次数
35PHY_MULTI_READ_CNT物理读多页次数
36RECYCLE_LOGIC_READ_CNT临时表空间逻辑读次数
37RECYCLE_PHY_READ_CNT临时表空间物理读次数
38HBUF_LOGIC_READ_CNTHBUF 逻辑读次数
39HBUF_PHY_READ_CNTHBUF 物理读次数
40HBUF_PHY_WRITE_CNTHBUF 物理写次数
41HBUF_PHY_READ_SIZEHBUF 物理读总大小,单位 BYTE
42HBUF_PHY_WRITE_SIZEHBUF 物理写总大小,单位 BYTE
43UNDO_PAGE_CHANGES_CNTundo 页变化次数
44RECYCLE_PAGE_CHANGES_CNT临时页变化次数
45DATA_PAGE_CHANGES_CNT数据页变化次数
46IO_WAIT_TIMEI/O 等待时间(MS)
47TAB_SCAN_CNT统计全表扫描次数
48HASH_JOIN_CNT统计哈希连接的次数
49BTR_SPLIT_CNTB 树分裂次数
50BTR_PAGE_DISCARD_CNT数据页丢弃次数
51BTR_LEVEL_DISCARD_CNTB 树层丢弃次数
52BTR_LEFT_TRY_CNTB 树左移次数
53BTR_DIRECT_UPDATE_CNTB 树直接更新次数
54BTR_INSDEL_UPDATE_CNTB 树插入删除更新次数
55BTR_UPDATE_2ND_CONFLICT_C NT二级索引更新冲突次数
56UPDATE_MVCC_RETRY_CNT多版本更新重试次数
57DELETE_MVCC_RETRY_CNT多版本删除重试次数
58MAX_MEM_USED内存使用峰值(KB)
59VIS_RECS_CNT可见数据获取次数
60VIS_RECS_TIME可见数据获取时间,单位微秒
61INVIS_RECS_CNT不可见数据获取次数
62INVIS_RECS_TIME不可见数据获取时间,单位微秒
63NET_BYTES_RECV从客户端接收的数据字节数
64NET_BYTES_SEND向客户端发送的数据字节数
65NET_ROUNDTRIPS和客户端之间的数据往返传送次数
66REDO_SIZEREDO 日志大小,单位字节
67PARSE_ELAPSD以 CPU 时钟统计的解析时间,单位毫秒
68EXEC_CPU以 CPU 时钟统计的执行时间,单位毫秒
69PLN_ADDR执行计划地址,与V$CACHEPLN 的CACHE_ITEM 列对应
70START_TIMESQL 执行的开始时间
71END_TIMESQL 执行的结束时间

4、V$LARGE_MEM_SQLS

最近 1000 条使用大内存的 sql 语句。一条 sql 语句使用的内存值超过 ini 参数LARGE_MEM_THRESHOLD,就认为使用了大内存。

参数名默认值级别描述
LARGE_MEM_THRESHOLD10000动态, 系统级大内存监控阈值。单位 KB,取值范围 0~10000000。其中 0~100 关闭统计,100 以上才统计。

一条 SQL 语句使用的内存值超过这个值,就认为是使用了大内存,此时开启大内存监控。

使用了大内存的 SQL 语句记 录在 V$LARGE_MEM_SQLS, V$SYSTEM_LARGE_MEM_SQLS 视图中

序号说明
1SESS_ID会话 ID,系统内部标识
2SQL_ID语句的 SQL ID
3SQL_TEXTSQL 文本
4MEM_USED_BY_K使用的内存数,单位 KB
5FINISH_TIME执行结束时间
6N_RUNS执行次数
7SEQNO编号
8TRX_ID事务号
9SESS_SEQ会话序列号,每创建一个会话,系统自动为其生成一个全 局递增的序列号

5、V$SYSTEM_LARGE_MEM_SQLS

系统中使用大内存最多的 20 条 sql 语句。字段定义与 v$large_mem_sqls 相同。

四、总结

情况推荐使用
当下SQL内存占用情况V$MEM_POOL
历史或当下SQL各种资源使用情况V$SQL_STAT_HISTORY
V$SQL_STAT
历史或当下大内存SQL使用情况V$SYSTEM_LARGE_MEM_SQLS
V$LARGE_MEM_SQLS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从0到1使用C++操作MSXML

1. 引言 MSXML(Microsoft XML Core Services)是微软提供的一套用于处理XML的COM组件库,广泛应用于Windows平台的XML解析、验证、转换等操作。本文将详细介绍如何从零开始,在C中使用MSXML解析和操作XML文件,包含完整的…

Windows 系统下用 VMware 安装 CentOS 7 虚拟机超详细教程(包含VMware和镜像安装包)

前言 资源 一、准备工作 (一)下载 VMware Workstation (二)下载 CentOS 7 镜像 二、安装 VMware Workstation(比较简单,按下面走即可) 三、创建 CentOS 7 虚拟机 四、安装 CentOS 7 系统…

应用安全系列之四十五:日志伪造(Log_Forging)之三

1、简介 针对Java的日志系统有多种&#xff0c;本文主要描述如何通过修改配置文件来解决logback和log4j的日志伪造问题。 2、logback 2.1、系统提供的解决方案 在logback.xml中配置编码器自动转义特殊字符&#xff1a; 复制 <configuration><appender name"C…

(五)循环链表、双向链表

循环链表 介绍 在单选链表基础上&#xff0c;下一个节点指向前一个节点&#xff0c;最后一个节点指向起点 封装循环链表 为了让循环链表可以继承自单向链表&#xff0c;对其进行重构 给其增加一个tail属性&#xff08;尾节点&#xff09;&#xff0c;对各方法进行重写整理 …

仙剑奇侠传98柔情版游戏秘籍

战斗秘技&#xff1a;在战斗中输入 “cheat”&#xff0c;然后输入 “v” 直接取胜&#xff1b;输入 “y” 敌人不攻击。另外&#xff0c;在战斗中按 “XJPXZ123” 加 “shift” 键&#xff0c;攻击力增加 1000&#xff05;。等级提升秘籍&#xff1a;当李逍遥等级到达 99 级时…

常见的归一化(Normalization)方法

本文详解深度学习中常见的归一化方法。 【归一化是将数据按比例缩放&#xff0c;使之落入一个特定的区间】目录 1. 批量归一化&#xff08;Batch Normalization&#xff0c;BN&#xff09;1.1 数学原理1.2 代码示例 2. 层归一化&#xff08;Layer Normalization&#xff0c;LN&…

行星际激波在日球层中的传播:Propagation of Interplanetary Shocks in the Heliosphere (参考文献部分)

行星际激波在日球层中的传播&#xff1a;Propagation of Interplanetary Shocks in the Heliosphere &#xff08;第一部分&#xff09;-CSDN博客 行星际激波在日球层中的传播&#xff1a;Propagation of Interplanetary Shocks in the Heliosphere &#xff08;第二部分&…

大模型可视化应用敏捷开发方案:Dify+Echarts

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 Moe模式&#xff1a;或将是最好的大模型应用开发路径一文带你了解大模型RAG详细记录…

23种GoF设计模式

GoF&#xff08;Gang of Four&#xff09;设计模式是由四位计算机科学家 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著的书籍《Design Patterns: Elements of Reusable Object-Oriented Software》中提出的设计模式 目录 一、创建型模式&#xff08;Cre…

Losson 4 NFS(network file system(网络文件系统))

网络文件系统&#xff1a;在互联网中共享服务器中文件资源。 使用nfs服务需要安装:nfs-utils 以及 rpcbind nfs-utils : 提供nfs服务的程序 rpcbind &#xff1a;管理nfs所有进程端口号的程序 nfs的部署 1.客户端和服务端都安装nfs-utils和rpcbind #安装nfs的软件rpcbind和…

C++ 入门六:多态 —— 同一接口的多种实现之道

在面向对象编程中&#xff0c;多态是最具魅力的特性之一。它允许我们通过统一的接口处理不同类型的对象&#xff0c;实现 “一个接口&#xff0c;多种实现”。本章将从基础概念到实战案例&#xff0c;逐步解析多态的核心原理与应用场景&#xff0c;帮助新手掌握这一关键技术。 …

关于C使用Windows API获取系统管理员权限和对文本属性的操作,以及windows API的核心操作

关于windows系统的操作程序开发&#xff0c;本文介绍一部分重要的文本属性操作&#xff0c;和运行计次器。 获取系统管理员权限 #include <windows.h> VOID ManagerRun(LPCSTR exe, LPCSTR param, INT nShow) { //注意&#xff1a;会跳出提示。SHELLEXECUTEINFO ShExec…

Web 项目实战:构建属于自己的博客系统

目录 项目效果演示 代码 Gitee 地址 1. 准备工作 1.1 建表 1.2 引入 MyBatis-plus 依赖 1.3 配置数据库连接 1.4 项目架构 2. 实体类准备 - pojo 包 2.1 dataobject 包 2.2 request 包 2.3 response 包 2.3.1 统一响应结果类 - Result 2.3.2 用户登录响应类 2.3.3…

从“被动跳闸”到“主动预警”:智慧用电系统守护老旧小区安全

安科瑞顾强 近年来&#xff0c;老旧小区电气火灾事故频发&#xff0c;成为威胁居民生命财产安全的重要隐患。据统计&#xff0c;我国居住场所火灾伤亡人数远超其他场所&#xff0c;仅今年一季度就发生8.3万起住宅火灾&#xff0c;造成503人遇难。这些建筑多建于上世纪&#x…

【深入浅出 Git】:从入门到精通

这篇文章介绍下版本控制器。 【深入浅出 Git】&#xff1a;从入门到精通 Git是什么Git的安装Git的基本操作建立本地仓库配置本地仓库认识工作区、暂存区、版本库的概念添加文件添加文件到暂存区提交文件到版本库提交文件演示 理解.git目录中的文件HEAD指针与暂存区objects对象 …

Mybatis的简单介绍

文章目录 MyBatis 简介 1. MyBatis 核心特点2. MyBatis 核心组件3. MyBatis 基本使用示例(1) 依赖引入&#xff08;Maven&#xff09;(2) 定义 Mapper 接口(3) 定义实体类(4) 在 Service 层调用 4. MyBatis 与 JPA/Hibernate 对比 MyBatis 简介 MyBatis 是一款优秀的 持久层框…

Android Studio 在 Windows 上的完整安装与使用指南

Android Studio 在 Windows 上的完整安装与使用指南—目录 一、Android Studio 简介二、下载与安装1. 下载 Android Studio2. 安装前的依赖准备3. 安装步骤 三、基础使用指南1. 首次启动配置2. 创建第一个项目3. 运行应用4. 核心功能 四、进阶功能配置1. 配置 SDK 和工具2. 自定…

WPF 绑定方式举例

WPF 绑定方式举例 一、如果ItemsControl 控件的ItemsSource要绑定到List类型&#xff0c;可以如下&#xff1a; List<string> Names new List<string>(); Names.Add("aaa"); Names.Add("bbb");<ItemsControl ItemsSource"{Binding …

LangSmith 设置指南

什么是 LangSmith&#xff1f; LangSmith 是 LangChain 团队开发的一个统一开发者平台&#xff0c;用于构建、测试、评估和监控基于大型语言模型&#xff08;LLM&#xff09;的应用程序。它提供了一套工具&#xff0c;帮助开发者更好地理解、调试和改进他们的 LLM 应用。 注册…

手撕TCP内网穿透及配置树莓派

注意&#xff1a; 本文内容于 2025-04-13 15:09:48 创建&#xff0c;可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容&#xff0c;请访问原文地址&#xff1a;手撕TCP内网穿透及配置树莓派。感谢您的关注与支持&#xff01; 之前入手了树莓派5&#xff0c;…