學習動态性能表
第九篇--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.