忘れかけのIT備忘録

今まで学んできた知識や小技、なるほど!と思ったことをメモするブログです。

RACのDBデータ取得の流れ

RACのDBデータ取得の流れについて調査しました。
RAC触ったことある人なら誰でも知っているよ!と言われそうな気がしますが、復習がてら備忘録に残します。

RACもシングルインスタンスも制御ファイルからデータファイルの格納場所を検出し、DBインスタンス経由でDBデータを取得します。
ただし、RACの場合、制御ファイルやデータファイルはASMディスク・グループに格納されているため、まずアクセスするASMディスクグループを検出する必要があります。

●シングルインスタンスのDBデータ取得の流れ


RACのDBデータ取得の流れ

DBデータ取得の流れの解説前にDBインスタンスがASMディスク・グループにアクセスできるまでの流れを簡単に解説します。
ASMディスク・グループの情報はASMインスタンスが管理しているため、DBインスタンス単体ではASMディスク・グループの情報を知ることができません。
ASMインスタンスが起動して、ASMディスク・グループをマウント後、グループサービスに情報(ASMインスタンスとASMディスク・グループのマッピング情報)が登録されます。
グループサービスが持っているマッピング情報を参照することでDBインスタンスはアクセスするASMディスク・グループを識別できます。
これでDBインスタンスが直接ASMディスク・グループにアクセスできるようになります。
※DBインスタンスが毎回ASMインスタンス経由でASMディスク・グループにアクセスしているわけではありません
※グループサービスはCSSデーモンが提供します

①ASMインスタンスがASMディスク・グループをマウントする
②ASMインスタンスがグループサービスにマッピング情報を登録する
③DBインスタンスマッピング情報から使用するASMインスタンスおよびASMディスクグループを識別する
④DBインスタンスがASMインスタンスに接続する
⑤DBインスタンスがASMディスク・グループのASMファイルにアクセスする

プロセスレベルで見てみます。

ASMインスタンス
RBAL (ReBalance?)
リバランス全体を調整するプロセス
ASMディスクが追加、削除されるとリバランス実施
図だと(A)に該当

ARBn (ASM ReBalance?)
ASMリバランスプロセス
リバランスのためのデータエクステントを移動するスレーブプロセス(最大11個)
図だと(B)に該当

GMON (GroupMonitor?)
ディスク・グループモニタープロセス
ASMディスク・グループのステータス監視
図だと(C)に該当

MARK (Marking?)
再同期化用AUマーキングコーディネータプロセス
ASMディスクのオフラインが発生すると再同期が必要なデータを追跡し、変更されたAU(割当て単位)を失効としてマーキング

DBインスタンス
RBAL (ReBalance?)
ASMディスク・グループ内のASMディスクへのアクセス(経路作成:グローバルオープン)を調整するプロセス
図だと(D)に該当

ASMB (ASM Background)
ASMバックグラウンドプロセス
ASMインスタンスに接続するプロセス
ASMインスタンス側のFG(フォアグラウンドプロセス)と通信

上記を踏まえてRACのDBデータ取得の流れを見てみます。

■参考資料
オラクルマスター教科書 Oracle Expert RAC 11gR2