続・バッファキャッシュ関連の待機イベントとパフォーマンス統計情報を読み解くしばちょう先生の試して納得! DBAへの道(改)(6)(2/4 ページ)

» 2017年11月16日 05時00分 公開
[柴田長日本オラクル株式会社]

2.バッファキャッシュ上にキャッシュされているオブジェクトとそのサイズの確認

 「SYS」ユーザーで「V$BH」ビューにアクセスして確認します。

$ sqlplus / as sysdba
SQL>
col OWNER for a8
col OBJECT_NAME for a16
select OWNER, OBJECT_NAME, count(*) "BUFFERS", count(*)*8/1024 "MB"
  from V$BH, DBA_OBJECTS
 where OBJD = DATA_OBJECT_ID and OWNER = 'TRY' and V$BH.STATUS != 'free'
 group by OWNER, rollup(OBJECT_NAME)
 order by 4 ;
OWNER    OBJECT_NAME         BUFFERS         MB
-------- ---------------- ---------- ----------
TRY                              897  7.0078125
TRY      TAB39_SMALL             897  7.0078125

 バッファキャッシュ上にキャッシュされているオブジェクトとサイズを確認するためには、V$BHビューへアクセスします。上記の回答例からも確認できるように、バッファキャッシュ上には約7MBの、表TAB39_SMALLのデータブロックがキャッシュされていますね。クエリを実行する前にバッファキャッシュを空にしているので、このブロックは演習3のクエリを実行することでキャッシュされたことに間違いはないでしょう。

 ということで、ここまでを整理させていただくと、バッファキャッシュのサイズに比べて非常に小さな表TAB39_SMALLを、Table Full Scanした際に、ディスクからバッファキャッシュ上へマルチブロックで読み込んだことを示す待機イベントdb file scattered readが発生します。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。