2.1 True Cache構成の概要

True Cache環境は、共通のまたはパーティション化された構成を持つことができます。

2.1.1 共通構成

共通構成では、同じTrue Cacheデータベース・アプリケーション・サービスを使用する複数の同一のTrue Cacheをデプロイできます。

クライアント・セッションは、すべて同じデータ・セットをキャッシュするTrue Cache間で均等に分散されます。

共通構成の詳細と例は、次の技術アーキテクチャ図を参照してください:

True Cacheの均一な構成

2.1.2 パーティション化構成

パーティション化構成では、データは複数のTrue Cacheに分割され、各キャッシュにはデータの異なるサブセットがキャッシュされます。

すべてのTrue Cacheにまたがるキャッシュ・データの合計サイズは、単一のプライマリ・データベースの場合、または共通構成の単一キャッシュの場合よりも大きくできます。

パーティション化構成の詳細と例は、次の技術アーキテクチャ図を参照してください:

2.1.3 True Cache構成プロセスの概要

True Cache構成を作成する大まかなステップは次のとおりです

  1. True Cacheおよびプライマリ・データベースのネットワークを構成し、必要に応じて高可用性のためのリモート・リスナーを作成します。
  2. True Cacheを作成します。
  3. 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でクローズする方法を示します。

  1. PDB 1は、プライマリ・データベース上でオープンされています。
  2. True Cache 1はプライマリ・データベースに接続し、PDB 1がオープン状態であることを把握し、その結果、PDB 1をオープンします。
  3. プライマリ・データベースはPDB 1をクローズしますが、True Cache 1ではPDB 1がオープンされたままになります。
  4. プライマリ・データベースはバウンスされますが、PDB 1を再オープンしません。
  5. True Cache 2はプライマリ・データベースに接続し、PDB 1がマウント済状態であることを把握します。その結果、True Cache 2ではPDB 1がクローズされマウントされたままになります。