達夢數據庫-學習-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.pswp.cn/pingmian/76639.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/76639.shtml
英文地址,請注明出處:http://en.pswp.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;…