2.1 True Cache構成の概要
True Cache環境は、共通のまたはパーティション化された構成を持つことができます。
2.1.1 共通構成
共通構成では、同じTrue Cacheデータベース・アプリケーション・サービスを使用する複数の同一のTrue Cacheをデプロイできます。
クライアント・セッションは、すべて同じデータ・セットをキャッシュするTrue Cache間で均等に分散されます。
共通構成の詳細と例は、次の技術アーキテクチャ図を参照してください:
2.1.2 パーティション化構成
パーティション化構成では、データは複数のTrue Cacheに分割され、各キャッシュにはデータの異なるサブセットがキャッシュされます。
すべてのTrue Cacheにまたがるキャッシュ・データの合計サイズは、単一のプライマリ・データベースの場合、または共通構成の単一キャッシュの場合よりも大きくできます。
パーティション化構成の詳細と例は、次の技術アーキテクチャ図を参照してください:
2.1.3 True Cache構成プロセスの概要
True Cache構成を作成する大まかなステップは次のとおりです
- True Cacheおよびプライマリ・データベースのネットワークを構成し、必要に応じて高可用性のためのリモート・リスナーを作成します。
- True Cacheを作成します。
- True Cacheデータベース・アプリケーション・サービスを作成して起動します。
2.1.4 データベース・アプリケーション・サービスに関するベスト・プラクティス
各プライマリ・データベース・アプリケーション・サービスを、対応するTrue Cacheデータベース・アプリケーション・サービスに関連付けます。
True Cacheデータベース・アプリケーション・サービスを区別するには、プライマリ・サービス名に続けて_TC
を使用することをお薦めします。
たとえば、プライマリ・サービスがSALES
の場合、True CacheサービスはSALES_TC
になります。
また、True CacheでTrue Cacheサービスを起動し、読取り専用であることを確認します。
2.1.5 True Cacheを使用した最大可用性アーキテクチャ(MAA)のベスト・プラクティス
True Cacheで最大限の可用性を実現するには、次のベスト・プラクティスに従います。
- 共通構成アーキテクチャを使用して、データセットごとに2つの同一のTrue Cacheを使用して、高可用性を実現するようにTrue Cacheを構成します。詳細は、「共通構成」を参照してください。
- アプリケーションに対してJDBC 23ai UCP接続構成を使用して、1つのTrue Cacheが使用できなくなった場合にアプリケーションへの影響を最小限に抑えます。
- True Cacheのデータベース・アプリケーション・サービスを有効にする前に、クリティカルなワークロード問合せを実行してキャッシュを移入します。データのキャッシュ方法の詳細は、「True Cacheの仕組み」を参照してください。
- 計画メンテナンスのためにTrue Cacheを停止する前に、True Cacheのデータベース・アプリケーション・サービスを停止します。
- プライマリ・データベースからのフェッチを最小限に抑えるように、True Cacheをパーティション分割または設計します。
2.1.6 True Cacheでのプラガブル・データベース(PDB)の動作と制限事項
最大限の可用性を実現するために、True Cache上およびプライマリ・データベース上のPDBには、次のような動作と制限事項があります。
- 非CDBデータベースはOracle 23aiで非推奨となっているため、True Cacheでは、非CDBプライマリ・データベースはサポートされていません。
- True Cache上のPDBでは、管理タスク(オープン、クローズ、停止など)を実行できません。ただし、アプリケーションで、プライマリ・データベースおよびOracle Active Data Guardの場合と同じ方法でTrue Cache上の特定のPDBに接続できます。
- True CacheのPDBの可用性は、プライマリ・データベース上のPDBの状態によって異なります。
- True Cacheがプライマリ・データベースに接続すると、プライマリ・データベース上(Oracle RACインスタンス内)の、オープン状態のすべてのPDBが、True Cacheでオープンされます。
- あるPDBが、すべてのOracle RACインスタンスにあるプライマリ・データベースでオープンされていない場合、True Cacheでは、事実上、そのPDBから何も読み取れず、そのPDBがマウント済状態であると見なされます。プライマリ・データベースでそのPDBがオープンされると、True Cacheでも自動的にオープンされます。
- プライマリ・データベースでPDBがクローズされた場合、True Cacheではそれが切断済としてマークされ、クローズされることはありません。削除、名前変更、フラッシュバックの使用など、プライマリ・データベース上の他のアクションでそのPDBのクローズが必要になった場合は例外です。それ以外の場合は、そのPDBがいつまでもオープンされたままになります。プライマリCDBが停止された場合でも、プライマリCDBが再起動されると、True Cacheにより、各PDBを再開可能かクローズして再起動する必要があるかが確認されます。
- プライマリ・データベースが停止されると、
ROOT
がTrue Cacheで切断済としてマークされ、最長24時間切断されたままになる場合があります。
次の例では、あるTrue CacheでPDBをオープンし、同じプライマリ・データベースに接続されている別のTrue Cacheでクローズする方法を示します。
- PDB 1は、プライマリ・データベース上でオープンされています。
- True Cache 1はプライマリ・データベースに接続し、PDB 1がオープン状態であることを把握し、その結果、PDB 1をオープンします。
- プライマリ・データベースはPDB 1をクローズしますが、True Cache 1ではPDB 1がオープンされたままになります。
- プライマリ・データベースはバウンスされますが、PDB 1を再オープンしません。
- True Cache 2はプライマリ・データベースに接続し、PDB 1がマウント済状態であることを把握します。その結果、True Cache 2ではPDB 1がクローズされマウントされたままになります。