検索
連載

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

データベース技術や知識は、座学だけでなく「実際に手を動かして、実際に試して」理解を深めよう──。日本オラクルのデータベーススペシャリストが「新人をDBAに育てる際に使用する課題」をベースに、DBAがすぐ実践できる即効テクニックを紹介。今回は「バッファキャッシュ関連の待機イベントとパフォーマンス統計情報の読み解き方」について、前回に引き続き解説します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

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.

ページトップに戻る