topimg.jpg


Oracleの書き込み処理による待機イベント

●ディスクIO処理に起因する主要な待機イベント
・DBWRプロセスが遅延した場合の待機イベント
①free buffer waits(バッファキャッシュに空きがないときに発生する待機イベント)
DBWRプロセスがバッファキャッシュ上のデータを利用中のため、サーバプロセスが新たにディスクから読み込もうとしているデータをバッファキャッシュに載せることができず待ちが発生する
②buffer busy waits(同じブロックに対して同時アクセスがあった場合の競合による待機イベント)
③write complete waits(サーバプロセスがアクセスしようとしたブロックがDBWRプロセスによってディスクへ書き出し中だった際に発生する待機イベント)
DBWRプロセスがダーティバッファ(メモリ上の変更はされているが、ディスクには書き込まれていないバッファ)を書き出している最中に、サーバプロセスからダーティバッファ上のブロックに対してアクセスがあった場合、サーバプロセスはDBWRプロセスが該当ブロックの書き込みが完了するまで待たされる

・LGWRプロセスが遅延した場合の待機イベント
①log file paralle write(LGWRプロセスがディスク上のREDOログへ書き込む際に発生する待機イベント)
LGWRプロセスがディスクへの書き込み処理にかかる時間。サーバプロセスが待った時間ではないことに注意。
②log file sync(サーバプロセスがLGWRプロセスの書き込み処理待ちにより発生する待機イベント)
サーバプロセスがCOMMITする際にLGWRプロセスがディスクへREDOログを書き出している最中だった場合、LGWRプロセスの書き込み処理が完了するまでサーバプロセスは待つことになる。
③log buffer space(REDOログバッファへの書き込み)
サーバプロセスがREDO情報をメモリ上のREDOログバッファへ書き出す際に、REDOログバッファのサイズが不足している場合書き込めず待たされる。通常は10MBくらいあれば十分、らしい。



参考
データベースキャッシュの競合
http://www.slideshare.net/kesnke/ss-455490
第8章 手動によりI/Oを分散してみよう
http://perfopy.ashisuto.co.jp/oracle_performance_educ/8IO.html
スポンサーサイト
  1. 2010/03/07(日) 06:27:32|
  2. oracle
  3. | トラックバック:0
  4. | コメント:0
<<REDOログ概要 | ホーム | Oracleのバックアップ>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://192168111.blog71.fc2.com/tb.php/33-4bd469a3
この記事にトラックバックする(FC2ブログユーザー)