sys@OCP10G> desc v$statname;
名稱 是否爲空? 類型
---------------------------------------------------------------------------------------
STATISTIC# NUMBER
NAME VARCHAR2(64)
CLASS NUMBER
STAT_ID NUMBER
sys@OCP10G> select * from v$statname;
STATISTIC#
NAME CLASS STAT_ID
---------------------------------------------------------------------------------------
0 logons cumulative 1 2666645286
1 logons current 1 3080465522
2 opened cursors cumulative 1 85052502
3 opened cursors current 1 2301954928
....
314 OTC commit optimization hits 1 284064864054
315 OTC commit optimization failure - setup 1 28 3633344886
v$mystat字面來說就是當前用戶的各種統計信息,sid就是session的id(也就是當前用戶),STATISTIC#就是統計量的編號(用來唯一確定統計量
的名稱),value是統計量的值。
sys@OCP10G> show user
USER 爲 "SYS"
sys@OCP10G> select sid,username from v$session where username='SYS';
SID USERNAME
------------------------------------------------------------------
138 SYS
sys@OCP10G> desc v$mystat;
名稱 是否爲空? 類型
--------------------------------------------------------------------------------------
SID NUMBER
STATISTIC# NUMBER
VALUE NUMBER
sys@OCP10G> select * from v$mystat where rownum<10;
SID STATISTIC# VALUE
------------------------------------------------------------------------
138 0 1
138 1 1
138 2 54
138 3 1
...
138 314 0
138 315 0
小結:
v$statname視圖獲取系統的統計量的說明
v$mystat視圖獲取當前用戶的在v$statname中的每個統計量的值
兩個視圖按STATISTIC#連接,可以得到當前用戶的sid,統計量的編號,統計量的名稱,和統計值.
select b.sid,a.STATISTIC#,a.name,b.value from v$statname a,v$mystat b
where a.STATISTIC#=b.STATISTIC#;
SID STATISTIC# NAME VALUE
---------------------------------------------------------------------------------------
138 0 logonscumulative 1
138 1 logons current 1
138 2 opened cursors cumulative 56
138 3 opened cursors current 1
...
138 314 OTC commit optimization hits 0
138 315 OTC commit optimization failure - setup 0