性能視圖介紹)
視圖動態(tài)性能視圖也叫動態(tài)管理視圖全部以V$開頭本質(zhì)是內(nèi)存虛表數(shù)據(jù)來自數(shù)據(jù)庫運行時內(nèi)存數(shù)據(jù)庫重啟后全部清零不會持久化落盤。對比靜態(tài)字典視圖DBA_/SYS_開頭靜態(tài)字典是磁盤上元數(shù)據(jù)重啟數(shù)據(jù)不變V$ 視圖實時反映當(dāng)前運行狀態(tài)用于監(jiān)控、故障排查、SQL 調(diào)優(yōu)。達夢數(shù)據(jù)庫中的動態(tài)性能視圖能自動收集數(shù)據(jù)庫中的一些活動信息系統(tǒng)管理員根據(jù)這些信息可以了解數(shù)據(jù)庫運行的基本情況為數(shù)據(jù)庫的維護和優(yōu)化提供依據(jù)。動態(tài)性能視圖信息也是數(shù)據(jù)庫中數(shù)據(jù)字典的一部分與我們平常所說的數(shù)據(jù)字典不同的是平常意義上的數(shù)據(jù)字典是指靜態(tài)數(shù)據(jù)字典信息也即用戶訪問數(shù)據(jù)字典信息時內(nèi)容不會發(fā)生改變而動態(tài)視圖信息是隨著數(shù)據(jù)庫的運行隨時更改具有一定的即時性。而動態(tài)視圖則以 V$為前綴靜態(tài)字典表一般以 SYS 為前綴查看全部動態(tài)視圖清單SELECT NAME FROM V$DYNAMIC_TABLES;查看數(shù)據(jù)庫中實例信息SELECT * FROM V$INSTANCE;--查看數(shù)據(jù)庫中實例信息SELECT * FROM V$INSTANCE;--查詢表空間信息SELECT * FROM V$TABLESPACE;--查詢內(nèi)存池 BUFFERPOOL 的頁數(shù)、讀取頁數(shù)和命中率信息SELECT NAME,N_PAGES,N_LOGIC_READS,RAT_HIT FROM V$BUFFERPOOL;--查詢系統(tǒng)中上鎖的事務(wù)、鎖類型以及表 ID 信息SELECT TRX_ID,LTYPE,LMODE,TABLE_ID FROM V$LOCK;--查看系統(tǒng)中所有活動的線程信息SELECT TOP 2* FROM V$THREADS;--查看字典緩存的信息SELECT * FROM V$DICT_CACHE;--查看會話信息SELECT SESS_ID,SQL_TEXT,STATE,CREATE_TIME,CLNT_HOST FROM V$SESSIONS;### ① 看庫和實例是否正常-- 實例實例名、運行狀態(tài)、啟動時間SELECT INSTANCE_NAME, STATUS$, START_TIME FROM V$INSTANCE;-- 數(shù)據(jù)庫庫名、狀態(tài)、打開時間SELECT NAME, STATUS$, CREATE_TIME FROM V$DATABASE;-- ② 看連接數(shù)評估負載、防打滿-- 一共多少連接SELECT COUNT(*) AS 總連接數(shù) FROM V$SESSIONS;-- 按狀態(tài)分組active(正在干活) / idle(空閑)SELECT STATE, COUNT(*) AS 數(shù)量 FROM V$SESSIONS GROUP BY STATE;--總連接數(shù)接近 dm.ini 的 MAX_SESSIONS 上限 → 快打滿了要排查誰在占連接--③ 看當(dāng)前有哪些會話在連SELECT SESS_ID, USER_NAME, CLNT_IP, STATE, SQL_TEXTFROM V$SESSIONSWHERE SQL_TEXT IS NOT NULL;--查空間防 磁盤寫滿 災(zāi)難--④ 表空間使用率最常查的語句沒有之一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 管 數(shù)據(jù)文件多大、剩多少兩者按 GROUP_ID 關(guān)聯(lián)。使用率 80% 就該預(yù)警 90% 必須處理。--⑤ 數(shù)據(jù)文件在哪、多大SELECT GROUP_ID, PATH, TOTAL_SIZE*8/1024 AS 大小MBFROM V$DATAFILE;-- 第三梯隊出問題時才用鎖定問題源頭--⑥ 查鎖等待 / 阻塞死鎖、卡住、互相等-- 誰在等鎖SELECT * FROM V$LOCK_WAIT;-- 被卡住的會話正在執(zhí)行什么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;--⑦ 查正在執(zhí)行的事務(wù)SELECT TRX_ID, SESS_ID, STATUS, START_TIME FROM V$TRX;--⑧ 查參數(shù)驗證 dm.ini 改沒改生效SELECT NAME, TYPE, VALUE, DEFAULT_VALUEFROM V$PARAMETERWHERE NAME LIKE %BUFFER%; -- 換成要查的關(guān)鍵字用途比如你改了 BUFFER 大小重啟后查這里確認是否生效。--⑨ 緩沖池命中率性能是否健康SELECT NAME, RAT_HIT*100 AS 命中率 FROM V$BUFFERPOOL;怎么看結(jié)果命中率應(yīng) 95%低于這個值說明內(nèi)存小或 SQL 亂全表掃太多。達夢社區(qū)地址https://eco.dameng.com