V$FILESTAT
本視圖記錄各文件物理I/O信息。如果瓶頸與I/O相關(guān),可用于分析發(fā)生的活動I/O事件。V$FILESTAT顯示出數(shù)據(jù)庫I/O的下列信息(不包括日志文件):
l 物理讀寫數(shù)
l 塊讀寫數(shù)
l I/O讀寫總耗時
以上數(shù)值自實例啟動即開始記錄。如果獲取了兩個快照,那么二者之間的差異即是這一時間段內(nèi)活動I/O統(tǒng)計。
V$FILESTAT中的常用列:
l FILE#:文件序號;
l PHYRDS:已完成的物理讀次數(shù);
l PHYBLKRD:塊讀取數(shù);
l PHYWRTS:DBWR完成的物理寫次數(shù);
l PHYBLKWRT:寫入磁盤的塊數(shù);
V$FILESTAT注意項:
l 因為multiblock讀調(diào)用,物理讀數(shù)和數(shù)據(jù)塊讀數(shù)有可能不同;
l 因為進(jìn)程直寫,物理寫和數(shù)據(jù)塊寫也可能不一致;
l Sum(physical blocks read) 近似于v$sysstat中的physical reads;
l Sum(physical blocks written) 近似于v$sysstat中的physical writes;
l 數(shù)據(jù)讀(由緩存讀比直讀好)由服務(wù)進(jìn)程處理。從buffer cache寫只能由DBWR進(jìn)行,直寫由服務(wù)進(jìn)程處理。
V$FILESTAT中的連接列
Column View Joined Column(s)
----------- ------------------------- -------------------------
FILE# DBA_DATA_FILES FILE_ID
FILE# V$DATAFILE FILE#
示例:
1.獲得數(shù)據(jù)文件物理讀寫和數(shù)據(jù)塊讀寫信息:
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記錄的讀寫次數(shù)非常精確,但如果數(shù)據(jù)庫運(yùn)行在Unix文件系統(tǒng)(UFS)有可能不能表現(xiàn)真實的磁盤讀寫,例如,讀次數(shù)可能并非真實的磁盤讀,而是UFS緩存。不過裸設(shè)備的讀寫次數(shù)應(yīng)該是比較精準(zhǔn)的。