天天看點

學習動态性能表 第九篇--V$FILESTAT

學習動态性能表

第九篇--V$FILESTAT 

  本視圖記錄各檔案實體I/O資訊。如果瓶頸與I/O相關,可用于分析發生的活動I/O事件。V$FILESTAT顯示出資料庫I/O的下列資訊(不包括日志檔案):

l         實體讀寫數

l         塊讀寫數

l         I/O讀寫總耗時

  以上數值自執行個體啟動即開始記錄。如果擷取了兩個快照,那麼二者之間的差異即是這一時間段内活動I/O統計。

V$FILESTAT中的常用列:

l         FILE#:檔案序号;

l         PHYRDS:已完成的實體讀次數;

l         PHYBLKRD:塊讀取數;

l         PHYWRTS:DBWR完成的實體寫次數;

l         PHYBLKWRT:寫入磁盤的塊數;

V$FILESTAT注意項:

l         因為multiblock讀調用,實體讀數和資料塊讀數有可能不同;

l         因為程序直寫,實體寫和資料塊寫也可能不一緻;

l         Sum(physical blocks read) 近似于v$sysstat中的physical reads;

l         Sum(physical blocks written) 近似于v$sysstat中的physical writes;

l         資料讀(由緩存讀比直讀好)由服務程序處理。從buffer cache寫隻能由DBWR進行,直寫由服務程序處理。

V$FILESTAT中的連接配接列

Column                                     View                                         Joined Column(s)

-----------                                   -------------------------                 -------------------------

FILE#                                        DBA_DATA_FILES                    FILE_ID

FILE#                                        V$DATAFILE                                    FILE#

示例:

1.獲得資料檔案實體讀寫和資料塊讀寫資訊:

select df.tablespace_name name,

       df.file_name       "file",

       f.phyrds           pyr,

       f.phyblkrd         pbr,

       f.phywrts          pyw,

       f.phyblkwrt        pbw

 from v$filestat f, dba_data_files df where f.file# = df.file_id

 orderby df.tablespace_name;

注意:盡管oracle記錄的讀寫次數非常精确,但如果資料庫運作在Unix檔案系統(UFS)有可能不能表現真實的磁盤讀寫,例如,讀次數可能并非真實的磁盤讀,而是UFS緩存。不過裸裝置的讀寫次數應該是比較精準的。

2.