學習動態效能表 二 v sesstat

2021-08-30 03:32:09 字數 3082 閱讀 9381

類似於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 執行操作所...