dm8-SQL资源监控-达梦数据库
环境介绍
- dm8 DM Database 64 V8 03134284294-20241225-255012-20119
- 默认查询V$SQL_STAT
- 也可配置查询历史信息 V$SQL_STAT_HISTORY
- 语句级资源监控内容。记录当前正在执 行的 SQL 语句的资 源开销。
- 需要ENABLE_MONITOR=1 才 开 始 监控 。 针 对 63~68 列 中 的监 控 项, 还需 开 启参 数MONITOR_SQL_EXEC=1、ENABLE_MONITOR_DMSQL=1 才开始监控。
1 SQL资源监控
--查询参数信息
SELECT PARA_NAME,PARA_VALUE,MAX_VALUE,SESS_VALUE,FILE_VALUE,PARA_TYPE FROM V$DM_INI WHERE PARA_NAME IN('ENABLE_MONITOR','MONITOR_SQL_EXEC','ENABLE_MONITOR_DMSQL');
--配置参数
SP_SET_PARA_VALUE(1,'ENABLE_MONITOR',1);
SP_SET_PARA_VALUE(1,'MONITOR_SQL_EXEC',1);
SP_SET_PARA_VALUE(1,'ENABLE_MONITOR_DMSQL',1);
--创建sql资源使用情况记录表
TRUNCATE TABLE V_SQL_STAT;
DROP TABLE V_SQL_STAT;
CREATE TABLE V_SQL_STAT AS SELECT * FROM V$SQL_STAT WHERE SQL_TXT LIKE '%sql查询的表名或sql的一段%';
alter table SYSDBA.V_SQL_STAT add column(INSERT_TIME TIMESTAMP(0) default (SYSDATE()));
--记录 sql 资源使用情况
INSERT INTO V_SQL_STAT SELECT *,SYSDATE() FROM V$SQL_STAT WHERE SQL_TXT LIKE '%sql查询的表名或sql的一段%'
-- AND EXEC_TIME>10000 根据情况筛选执行超过10秒的SQL
;
COMMIT;
-- 查询记录的sql
SELECT * FROM V_SQL_STAT;
2 配置作业
3 v$sql_stat 参数说明
- 语句级资源监控内 容。记录当前正在执 行的 SQL 语句的资 源开销。
- 需要ENABLE_MONITOR=1 才 开 始 监控 。 针 对 63~68 列 中 的监 控 项, 还需 开 启参 数MONITOR_SQL_EXEC=1、ENABLE_MONITOR_DMSQL=1 才开始监控。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | SESSID | BIGINT | 会话 ID,系统内部标识 |
2 | SESS_SEQ | INTEGER | 会话序列号,每创建一个会话,系统自动为其生成一个全局递增的序列号 |
3 | SQL_TXT | VARCHAR(1024) | 语句 |
4 | SQL_ID | INTEGER | 语句编号 |
5 | EXEC_TIME | BIGINT | 以系统时间统计的执行时间,单位毫秒 |
6 | PARSE_CNT | BIGINT | 解析次数 |
7 | PARSE_TIME | BIGINT | 以系统时间统计的解析时间,单位毫秒 |
8 | HARD_PARSE_CNT | BIGINT | 硬解析次数 |
9 | HARD_PARSE_TIME | BIGINT | 硬解析时间,单位毫秒 |
10 | SEL_SQL_CNT | BIGINT | 执行的查询语句总数 |
11 | INS_SQL_CNT | BIGINT | 执行的插入语句总数 |
12 | DEL_SQL_CNT | BIGINT | 执行的删除语句总数 |
13 | UPD_SQL_CNT | BIGINT | 执行的更新语句总数 |
14 | DDL_SQL_CNT | BIGINT | 执行的 DDL 语句总数 |
15 | SEL_IN_PL_CNT | BIGINT | 执行的语句块中的查询语句总数 |
16 | INS_IN_PL_CNT | BIGINT | 执行的语句块中的插入语句总数 |
17 | DEL_IN_PL_CNT | BIGINT | 执行的语句块中的删除语句总数 |
18 | UPD_IN_PL_CNT | BIGINT | 执行的语句块中的更新语句总数 |
19 | DYN_EXEC_CNT | BIGINT | 执行的语句块中的动态执行语句总数 |
20 | DDL_EVT_TRG_CNT | BIGINT | DDL 事件触发器触发次数 |
21 | STMT_BF_TRG_CNT | BIGINT | 语句级 BEFORE 触发器触发次数 |
22 | STMT_AF_TRG_CNT | BIGINT | 语句级 AFTER 触发器触发次数 |
23 | ROW_BF_TRG_CNT | BIGINT | 行级 BEFORE 触发器触发次数 |
24 | ROW_AF_TRG_CNT | BIGINT | 行级 AFTER 触发器触发次数 |
25 | INSTEAD_OF_TRG_CNT | BIGINT | INSTEAD OF 触发器触发次数 |
26 | OPTIMIZED_SORT_CNT | BIGINT | 最优排序次数 |
27 | ONE_WAY_SORT_CNT | BIGINT | 单路排序次数 |
28 | MULTI_WAY_SORT_CNT | BIGINT | 多路排序次数 |
29 | RUNTIME_OBJ_ALLOC_CNT | BIGINT | 运行时对象创建次数 |
30 | RUNTIME_OBJ_SIZE_CNT | BIGINT | 运行时对象占用空间大小,单位 BYTE |
31 | RUNTIME_OBJ_RECLAIM_CNT | BIGINT | 运行时对象回收次数 |
32 | LONG_ROW_CVT_CNT | BIGINT | 超长记录字段压缩次数 |
33 | LOGIC_READ_CNT | BIGINT | 逻辑读页次数 |
34 | PHY_READ_CNT | BIGINT | 物理读页次数 |
35 | PHY_MULTI_READ_CNT | BIGINT | 物理读多页次数 |
36 | RECYCLE_LOGIC_READ_CNT | BIGINT | 临时表空间逻辑读次数 |
37 | RECYCLE_PHY_READ_CNT | BIGINT | 临时表空间物理读次数 |
38 | HBUF_LOGIC_READ_CNT | BIGINT | HBUF 逻辑读次数 |
39 | HBUF_PHY_READ_CNT | BIGINT | HBUF 物理读次数 |
40 | HBUF_PHY_WRITE_CNT | BIGINT | HBUF 物理写次数 |
41 | HBUF_PHY_READ_SIZE | BIGINT | HBUF 物理读总大小,单位 BYTE |
42 | HBUF_PHY_WRITE_SIZE | BIGINT | HBUF 物理写总大小,单位 BYTE |
43 | UNDO_PAGE_CHANGES_CNT | BIGINT | undo 页变化次数 |
44 | RECYCLE_PAGE_CHANGES_CNT | BIGINT | 临时页变化次数 |
45 | DATA_PAGE_CHANGES_CNT | BIGINT | 数据页变化次数 |
46 | IO_WAIT_TIME | BIGINT | I/O 等待时间(MS) |
47 | TAB_SCAN_CNT | BIGINT | 统计全表扫描次数 |
48 | HASH_JOIN_CNT | BIGINT | 统计哈希连接的次数 |
49 | BTR_SPLIT_CNT | BIGINT | B 树分裂次数 |
50 | BTR_PAGE_DISCARD_CNT | BIGINT | 数据页丢弃次数 |
51 | BTR_LEVEL_DISCARD_CNT | BIGINT | B 树层丢弃次数 |
52 | BTR_LEFT_TRY_CNT | BIGINT | B 树左移次数 |
53 | BTR_DIRECT_UPDATE_CNT | BIGINT | B 树直接更新次数 |
54 | BTR_INSDEL_UPDATE_CNT | BIGINT | B 树插入删除更新次数 |
55 | BTR_UPDATE_2ND_CONFLICT_CNT | BIGINT | 二级索引更新冲突次数 |
56 | UPDATE_MVCC_RETRY_CNT | BIGINT | 多版本更新重试次数 |
57 | DELETE_MVCC_RETRY_CNT | BIGINT | 多版本删除重试次数 |
58 | MAX_MEM_USED | BIGINT | 内存使用峰值(KB) |
59 | VIS_RECS_CNT | BIGINT | 可见数据获取次数 |
60 | VIS_RECS_TIME | BIGINT | 可见数据获取时间,单位微秒 |
61 | INVIS_RECS_CNT | BIGINT | 不可见数据获取次数 |
62 | INVIS_RECS_TIME | BIGINT | 不可见数据获取时间,单位微秒 |
63 | NET_BYTES_RECV | BIGINT | 从客户端接收的数据字节数 |
64 | NET_BYTES_SEND | BIGINT | 向客户端发送的数据字节数 |
65 | NET_ROUNDTRIPS | BIGINT | 和客户端之间的数据往返传送次数 |
66 | REDO_SIZE | BIGINT | REDO 日志大小,单位字节 |
67 | PARSE_ELAPSD | BIGINT | 以 CPU 时钟统计的解析时间,单位毫秒 |
68 | EXEC_CPU | BIGINT | 以 CPU 时钟统计的执行时间,单位毫秒 |
69 | PLN_ADDR | BIGINT | 执行计划地址,与 V$CACHEPLN 的CACHE_ITEM 列对应 |