先週はV$SYSTEM_EVENTから待機イベント、V$SEGMENT_STATISTICSビューからオブジェクトの情報を探ってみました。waits”という待機イベントが、RAC環境下ではかなり大きな値になっていました。waits”の多い対象オブジェクトとして統計情報にあがってきました。waits”が多くなるのでしょうか。cache”があることをお話しました。waits”について調べてました。何を表しているのでしょうか。文字通り解釈すると、”グローバル・キャッシュに関連するバッファー・ビジー”ですね。”グローバル・キャッシュに関する・・”とは??ここからは、すこし、概念的なお話に入ります。苦痛になるかもしれませんがお付き合いください。シングルインスタンス環境では、自分のインスタンスにデータブロックがなければDISKから読み込むのですが、RACの場合はそのデータブロックを他のインスタンスが持っている可能性があります。この場合、InterConnectを利用して該当するデータブロックを転送してもらいます。I/Oを減らすためですね。分)あるような計算になります。ここで考慮しなくてはいけない点がでてきます。それぞれのインスタンスで好き勝手にデータブロックを扱えないことは、皆さんご理解いただけるでしょう。全てのインスタンスでクエリーだけが実行されているわけではないので、データブロックを取得する際に、自分が使いたいデータブロックが、「他のインスタンスに存在するか」、「更新されているか」、というような確認をした上で転送してもらいます。このあたりの管理機構を掌っているのが、”GCS”です。皆さんも名前は聞いた(見た)ことがあるでしょう。”GCS”は、グローバル・キャッシュ・サービスの略称で、RACを構成するインスタンス全体に渡ってデータブロックの情報を管理します。実体はLMSと言うプロセスで、RAC環境下では、psコマンドを実行すると、その存在を知ることが出来ます。目に見える形で存在すると少しほっとしますね。ora_lms$通常LMSプロセスは各インスタンスごとに2つ起動しています。データの整合性を保つため、Oracleでは、よくロックと言う機構を利用します。”GCS”も例外ではなく、インスタンス間のデータの整合性を保つために、やはり、ロックを使います。データブロックに関する情報を見てみましょう。社内のRAC環境で見てみると、こんな感じです。232データベースバッファにいくつかの状態で、データブロックが存在していることがわかります。なにやら見覚えのあるもの、ないものがあるのではありませんか。実は、ここにロックに関する情報が見えています。オンラインREDOログファイルのメンバは、複数の物理DISKに分散しましょうね。reserved.トップページ企業概要プライバシーポリシ。