類似於v$sysstat,該檢視儲存下列類別的統計:
事件發生次數的統計,如使用者提交數。
資料產生,訪問或者操作的total列(如:redo size)
執行操作所花費的時間累積,例如session cpu占用(如果timed_statistics值為true)
注意:如果初始引數statistics_level被設定為typical或all,時間統計被資料庫自動收集如果statistics_level被設定為basic,你必須設定timed_statistics值為true以開啟收集功能。
如果你已設定了db_cache_advice,timed_statistics或timed_os_statistics,或在初始引數檔案或使用alter_system或alter session,那麼你所設定的值的值將覆蓋statistics_level的值。
v$sysstat和v$sesstat差別如下:
v$sesstat只儲存session資料,而v$sysstat則儲存所有sessions的累積值。
v$sesstat只是暫存資料,session退出後資料即清空。v$sysstat則是累積的,只有當例項被shutdown才會清空。
v$sesstat不包括統計項名稱,如果要獲得統計項名稱則必須與v$sysstat或v$statname連線查詢獲得。
v$sesstat可被用於找出如下型別session:
高資源占用
高平均資源占用比(登陸後資源使用率)
預設資源占用比(兩快照之間)
在v$sesstat中使用統計
多數v$sesstat中的統計參考是v$sysstat描述的子集,包括session logical reads, cpu used by this session, db block changes, redo size, physical writes, parse count (hard), parse count (total), sorts (memory), and sorts (disk).
v$sesstat常用列說明sid:session唯一id
statistic#:資源唯一id
value:資源使用
示例1:下列找出當前session中最高的logical和physical i/o比率.
下列sql語句顯示了所有連線到資料庫的session邏輯、物理讀比率(每秒)。logical和physical i/o比率是通過自登陸後的時間消耗計算得出。對於sessions連線到資料庫這種長週期操作而言也許不夠精確,不過做個示例卻足夠了。
先獲得session邏輯讀和物理讀統計項的statistic#值:
select name, statistic#
from v$statname
where name in ('session logical reads','physical reads') ;
name statistic#
------------------------------ ----------
session logical reads 9
physical reads 40
通過上面獲得的statistic#值執行下列語句:
select ses.sid
, decode(ses.action,null,'online','batch') "user"
, max(decode(sta.statistic#,9,sta.value,0))
/greatest(3600*24*(sysdate-ses.logon_time),1) "log io/s"
, max(decode(sta.statistic#,40,sta.value,0))
/greatest(3600*24*(sysdate-ses.logon_time),1) "phy io/s"
, 60*24*(sysdate-ses.logon_time) "minutes"
from v$session ses
, v$sesstat sta
where ses.status = 'active'
and sta.sid = ses.sid
and sta.statistic# in (9,40)
group by ses.sid, ses.action, ses.logon_time
order by
sum( decode(sta.statistic#,40,100*sta.value,sta.value) )
/ greatest(3600*24*(sysdate-ses.logon_time),1) desc;
sid user log io/s phy io/s minutes
----- ------ -------- -------- -------
1951 batch 291 257.3 1
470 online 6,161 62.9 0
730 batch 7,568 43.2 197
2153 online 1,482 98.9 10
2386 batch 7,620 35.6 35
1815 batch 7,503 35.5 26
1965 online 4,879 42.9 19
1668 online 4,318 44.5 1
1142 online 955 69.2 35
1855 batch 573 70.5 8
1971 online 1,138 56.6 1
1323 online 3,263 32.4 5
1479 batch 2,857 35.1 3
421 online 1,322 46.8 15
2405 online 258 50.4 8
示例2:又例如通過v$sesstat和v$statname連線查詢某個sid各項資訊。
select a.*,b.name
from v$sesstat a,v$statname b
where a.sid=10 and a.statistic#=b.statistic#;
學習動態效能表 21 v lincense
學習動態效能表 第20篇 v lincense 2007.6.15 本節主要引數 session max 例項允許的併發最大session數量 session warning 當前例項警告的併發session數量 session current 例項當前併發session數 session high...
Oracle動態效能表 2 V SQLTEXT
本檢視包括shared pool中sql語句的完整文字,一條sql語句可能分成多個塊被儲存於多個記錄內。v sqltext中的常用列 hash value sql語句的hash值 address sql語句在sga中的位址 sql text sql文字。piece sql語句塊的序號 v sqlte...
Oracle動態效能表 4 V SESSTAT
按照oracleonlinebook中的描述,v sesstat儲存session從login到logout的詳細資源使用統計。類似於v sysstat,該檢視儲存下列類別的統計 l 事件發生次數的統計,如使用者提交數。l 資料產生,訪問或者操作的total列 如 redo size l 執行操作所...