通常、Oracle RACデータベースには、それぞれにメモリー構造およびバックグラウンド・プロセスが含まれる複数のデータベース・インスタンスがあります。Oracle RACデータベースには、非クラスタOracle Databaseと同じプロセスおよびメモリー構造があり、さらに、Oracle RAC固有の追加プロセスおよびメモリー構造があります。1つのインスタンスのデータベース・ビューは、同じOracle RACデータベース内の他のインスタンスのビューとほぼ同じで、ビューはその環境の単一のシステム・イメージです。
各インスタンスのシステム・グローバル領域(SGA)には、バッファ・キャッシュが存在します。キャッシュ・フュージョンの使用によって、Oracle RAC環境で各インスタンスのバッファ・キャッシュが論理的に結合され、論理的に結合された単一のキャッシュにデータが存在する場合と同様に、インスタンスでデータを処理できます。
注意:
関連項目:
インメモリー・トランザクション・マネージャの詳細は、『Oracle Database概要』を参照してください。
問合せまたはトランザクションを正しく処理するために必要なブロックを、各Oracle RACデータベース・インスタンスが確実に取得できるようにするために、Oracle RACインスタンスでは、グローバル・キャッシュ・サービス(GCS)およびグローバル・エンキュー・サービス(GES)の2つのプロセスが使用されます。GCSおよびGESは、グローバル・リソース・ディレクトリ(GRD)を使用して、各データ・ファイルおよび各キャッシュ・ブロックのステータスのレコードをメンテナンスします。GRDの内容はすべてのアクティブ・インスタンス間で分散され、Oracle RACインスタンスのSGAのサイズが実質的に増加します。
1つのインスタンスがデータをキャッシュした後は、同じクラスタ・データベース内の他のインスタンスは、ディスクからブロックを読み取るよりも高速に、同じデータベース内の別のインスタンスからブロック・イメージを取得できるようになります。そのため、キャッシュ・フュージョンは、ディスクからブロックを再読取りするのではなく、現行のブロックをインスタンス間で移動します。一貫性のあるブロックや変更されたブロックが別のインスタンスで必要な場合、キャッシュ・フュージョンは、影響を受けるインスタンス間でブロック・イメージを直接転送します。Oracle RACは、インスタンス間通信およびブロック転送にプライベート・インターコネクトを使用します。GES Monitorおよびインスタンス・エンキュー・プロセスは、キャッシュ・フュージョン・リソースへのアクセスおよびエンキューのリカバリ・プロセスを管理します。