v$sesstat,v$mystat,v$statname和v$sysstat檢視簡介

dotaddjj發表於2011-09-15

今天早上開啟ITPUB的論壇,提到了查詢dml操作期間,沒有commit之前是否產生redo log,就涉及到如何檢視current session產生的redo的計算,因為前段時間接觸過統計的幾個檢視

V$sysstat v$mystat v$session v$statname,翻看資料 實驗記載下:

V$sysstat是系統資源使用情況的統計分析,sys會不自然的想到conn / as sysdba

Desc v$sysstat

Name

----------

Stattistic# :標識,用來識別name

Name

Classs 統計類別

Value

Stat_id 統計標識

Name中包括的統計資訊: redo size(產生的redo log) user commits/user rollback(某種操作的次數) cpu userd by this session(做某種動作的累計時間)等。

Class2代表的redo的資訊,其中的class類別有點多,需要長時間使用來熟悉。

V$sesstat是所有庫中所有session的分組統計資訊。

包括statistic# sid value三列columnsidsession的識別ID,其餘的列 v$syssta中的column的意義相同。

V$mystat統計的是當前session的資訊,表結構和含義和v$sesstat相同。V$mystat中的統計資訊是v$sesstat的一個子集。

V$statname是聯絡v$mystat和統計name的檢視,透過statistic#來對其他檢視連線,而其他的表中同列名的column意義相同。

Name

-----------

Statistic#

Name

Class

Stat_id

試一下查詢current sessionredo變化吧

dml執行前後分別執行下面的sql查詢產生value的變化

Select name,value from v$mystat a,v$statname b

where a.statistic#=b.statistic# and b.name=’redo size

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1055091/,如需轉載,請註明出處,否則將追究法律責任。

相關文章