2014年12月14日日曜日

ダイレクトロードでFORCE LOGGINGしたときのREDO量見積もり

今回の記事は、弊社バルテックのアドベントカレンダーにエントリーしています。
http://www.adventar.org/calendars/414


ダイレクトパスインサートとは、バッファキャッシュを介さずにデータを落とし込む機能ですので、効率的にデータのインサートができます。
この機能を使用する場合、REDO情報の生成を最小限に抑えるNOLOGGINGモードを指定できます。
ただ、DataGuardやGolden Gateなどで遠方のサーバーへのRedo転送をする際、NOLOGGINGのままだとログ適用エラーやデータアクセスエラーが発生してしまうので、
FORCE LOGGINGにする必要があります。

通常の処理で発生したREDOログ量をそのまま転送REDOログ量と見積もって良いのですが、ダイレクトパスインサートの処理が大量にある場合は、FORCE LOGGINGにした分の転送REDOログ量を見積もる必要が出てきます。


このログ量はAWRの表示で見ることができます。

ダイレクトパスインサート分のREDO量 = block_size * redo size for direct writes - redo size for lost write detection
REDOログ量総計 = 通常のREDO量 + ダイレクト分のREDO量

となります。

ダイレクトパスインサート分のREDO量を見積もっていなかったことで転送ラグが出てしまった、ということが以前あったので、事前の見積もりは大事だなと思いました。

0 件のコメント:

コメントを投稿