您好,登錄后才能下訂單哦!
v$mystat、v$sesstat和v$sysstat的區別是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
v$mystat------->mystat---------->my session stat 當前會話統計
v$sesstat------>sesstat----------->sessionstat 按會話進行分組統計
v$sysstat------->sysstat----------->systemstat 當系統的整體統計
v$statname
v$mystat是指自己session的stat
v$sesstat是子系統所有session的stat
為了學習如何得sql產生的redo信息,在網上查詢到結果得出需對v$mystat,v$sesstat,v$statname視圖進行操作,:
1.v$mystat,v$sesstat是用來分別統計會話級別和自實例起動以來數據庫各種統計信息的。
兩個視圖結構一致,只是統計數據不一致。
desc v$mystat
名稱 是否為空? 類型
----------------------------------------------------- -------- ------------------------------------
SID NUMBER
STATISTIC# NUMBER
VALUE NUMBER
SID表示會話編號,與v$session中SID相對應。
STATISTIC# 表示統計項
VALUE 表示統計項相關的值
v$mystat視圖中只會有當前用戶的會話信息,v$sesstat會有整個實例內所有會話信息。因此在v$sesstat中自然包括v&mystat的統計信息。
SQL> desc v$sysstat
Name Null? Type
----------------------------------------- -------- ----------------------------
STATISTIC# NUMBER
NAME VARCHAR2(64)
CLASS NUMBER
VALUE NUMBER
STAT_ID NUMBER
2.一般情況下v$mystat,v$sesstat會與v$statname一起配合使用。
undefinedSQL> desc v$statname
Name Null? Type
----------------------------------------- -------- ----------------------------
STATISTIC# NUMBER
NAME VARCHAR2(64)
CLASS NUMBER
STAT_ID NUMBER
v$statname視圖中STATISTIC#與v$mystat,v$sesstat中STATISTIC#字段是相關聯的。而NAME則是對應的英文信息,比如說要查某條DML語句所產生的redo信息。可以這樣寫:
select t.sid, t.value/1024/1024 size_m
from v$sesstat t, v$statname n
where t.STATISTIC# = n.STATISTIC#
and name = 'redo size'
order by 2;
select value
from v$mystat t, v$statname t1
where t.STATISTIC# = t1.STATISTIC#
and t1.NAME = 'redo size';
其它信息也是如此,只需將t1.name換成相對應的英文名稱即可。
看完上述內容,你們掌握v$mystat、v$sesstat和v$sysstat的區別是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。