十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

达梦动态性能视图介绍

达梦动态性能视图介绍 视图动态性能视图也叫动态管理视图全部以V$开头本质是内存虚表数据来自数据库运行时内存数据库重启后全部清零不会持久化落盘。对比静态字典视图DBA_/SYS_开头静态字典是磁盘上元数据重启数据不变V$ 视图实时反映当前运行状态用于监控、故障排查、SQL 调优。达梦数据库中的动态性能视图能自动收集数据库中的一些活动信息系统管理员根据这些信息可以了解数据库运行的基本情况为数据库的维护和优化提供依据。动态性能视图信息也是数据库中数据字典的一部分与我们平常所说的数据字典不同的是平常意义上的数据字典是指静态数据字典信息也即用户访问数据字典信息时内容不会发生改变而动态视图信息是随着数据库的运行随时更改具有一定的即时性。而动态视图则以 V$为前缀静态字典表一般以 SYS 为前缀查看全部动态视图清单SELECT NAME FROM V$DYNAMIC_TABLES;查看数据库中实例信息SELECT * FROM V$INSTANCE;--查看数据库中实例信息SELECT * FROM V$INSTANCE;--查询表空间信息SELECT * FROM V$TABLESPACE;--查询内存池 BUFFERPOOL 的页数、读取页数和命中率信息SELECT NAME,N_PAGES,N_LOGIC_READS,RAT_HIT FROM V$BUFFERPOOL;--查询系统中上锁的事务、锁类型以及表 ID 信息SELECT TRX_ID,LTYPE,LMODE,TABLE_ID FROM V$LOCK;--查看系统中所有活动的线程信息SELECT TOP 2* FROM V$THREADS;--查看字典缓存的信息SELECT * FROM V$DICT_CACHE;--查看会话信息SELECT SESS_ID,SQL_TEXT,STATE,CREATE_TIME,CLNT_HOST FROM V$SESSIONS;### ① 看库和实例是否正常-- 实例实例名、运行状态、启动时间SELECT INSTANCE_NAME, STATUS$, START_TIME FROM V$INSTANCE;-- 数据库库名、状态、打开时间SELECT NAME, STATUS$, CREATE_TIME FROM V$DATABASE;-- ② 看连接数评估负载、防打满-- 一共多少连接SELECT COUNT(*) AS 总连接数 FROM V$SESSIONS;-- 按状态分组active(正在干活) / idle(空闲)SELECT STATE, COUNT(*) AS 数量 FROM V$SESSIONS GROUP BY STATE;--总连接数接近 dm.ini 的 MAX_SESSIONS 上限 → 快打满了要排查谁在占连接--③ 看当前有哪些会话在连SELECT SESS_ID, USER_NAME, CLNT_IP, STATE, SQL_TEXTFROM V$SESSIONSWHERE SQL_TEXT IS NOT NULL;--查空间防 磁盘写满 灾难--④ 表空间使用率最常查的语句没有之一SELECT t.NAME AS 表空间,ROUND(SUM((f.TOTAL_SIZE - f.FREE_SIZE) * f.PAGE_SIZE)/1024/1024, 2) AS 已用MB,ROUND(SUM(f.FREE_SIZE * f.PAGE_SIZE)/1024/1024, 2) AS 剩余MB,ROUND(SUM((f.TOTAL_SIZE - f.FREE_SIZE) * f.PAGE_SIZE)/1024/1024/ (SUM(f.TOTAL_SIZE * f.PAGE_SIZE)/1024/1024) * 100, 2) AS 使用率%FROM V$TABLESPACE t, V$DATAFILE fWHERE t.ID f.GROUP_IDGROUP BY t.NAME;--V$TABLESPACE 管 有哪些表空间V$DATAFILE 管 数据文件多大、剩多少两者按 GROUP_ID 关联。使用率 80% 就该预警 90% 必须处理。--⑤ 数据文件在哪、多大SELECT GROUP_ID, PATH, TOTAL_SIZE*8/1024 AS 大小MBFROM V$DATAFILE;-- 第三梯队出问题时才用锁定问题源头--⑥ 查锁等待 / 阻塞死锁、卡住、互相等-- 谁在等锁SELECT * FROM V$LOCK_WAIT;-- 被卡住的会话正在执行什么SELECT s.SESS_ID, s.USER_NAME, s.SQL_TEXT, lw.TRX_IDFROM V$LOCK_WAIT lw, V$SESSIONS sWHERE lw.SESS_ID s.SESS_ID;--⑦ 查正在执行的事务SELECT TRX_ID, SESS_ID, STATUS, START_TIME FROM V$TRX;--⑧ 查参数验证 dm.ini 改没改生效SELECT NAME, TYPE, VALUE, DEFAULT_VALUEFROM V$PARAMETERWHERE NAME LIKE %BUFFER%; -- 换成要查的关键字用途比如你改了 BUFFER 大小重启后查这里确认是否生效。--⑨ 缓冲池命中率性能是否健康SELECT NAME, RAT_HIT*100 AS 命中率 FROM V$BUFFERPOOL;怎么看结果命中率应 95%低于这个值说明内存小或 SQL 乱全表扫太多。达梦社区地址https://eco.dameng.com
返回列表