5.1.3.5 IORMプランでのXRMEMキャッシュ管理について

I/Oリソース管理(IORM)では、Exadata RDMAメモリー・キャッシュ(XRMEMキャッシュ)の領域を保証することで、予測可能なパフォーマンスを実現できます。

複数のデータベースが使用されており、プラガブル・データベース(PDB)によって記憶域が共有されている場合、XRMEMキャッシュ領域は、管理が必要なクリティカルなリソースになります。IORMにより、重要なデータベースまたはPDB用の領域を確保しながら、重要性の低いエンティティや不正なエンティティによってXRMEMキャッシュ全体が使用されないようにできます。

データベース間プランで次の属性を使用すると、XRMEMキャッシュ・リソースに制限を設定できます。強い制限は、キャッシュがフルでない場合でも、指定された制限を超過できないことを意味します。弱い制限は、使用可能なリソースがある場合に、指定された制限を超過できることを意味します。

  • xrmemCacheMin — ブロックがコールド状態であっても指定されたデータベースに対して保証される、XRMEMキャッシュ領域の最小容量を指定します。これは強い制限です。

    xrmemCacheMinは保証付き予約であるため、すべてのディレクティブのxrmemCacheMinの合計は、各データベースがそれぞれの割当てを取得するように、XRMEMキャッシュのサイズより小さくする必要があります。

  • xrmemCacheLimit — データベースで使用できるXRMEMキャッシュ領域の弱い最大容量を指定します。XRMEMキャッシュがフルでない場合、データベースはxrmemCacheLimit値を超過できます。
  • xrmemCacheSize — データベースで使用できるXRMEMキャッシュ領域の強い最大容量を指定します。xrmemCacheSize値を超えることはできません。

    ただし、xrmemCacheSizeを、データベースが使用している現在の領域よりも小さい値に設定した場合、超過分のデータがキャッシュから事前に消去されます。

    すべてのディレクティブでxrmemCacheSizeの合計がXRMEMキャッシュのサイズより大きい場合、xrmemCacheSizeは保証された予約ではありません。この場合、xrmemCacheMinを指定して、保証付きの最小割当て制限を定義することもできます。

    ノート:

    Exadata X8MおよびX9Mストレージ・サーバー・モデルでのみ、xrmemのかわりにpmemで始まる属性名を同じ意味で使用できます。たとえば、xrmemCacheMinのかわりにpmemCacheMinです。ただし、IORMプランにPMEM属性とXRMEM属性を混在させることはできません。

各データベース内で、memory_minディレクティブおよびmemory_limitディレクティブを使用して、コンテナ・データベース(CDB)リソース・プランで、Oracle Database Resource ManagerによりPDBの最小割当て制限および最大割当て制限を管理できます。

データベース間IORMプラン・ディレクティブのキャッシュ制限は、対応するCDBプランの設定を制約します。したがって、データベース間IORMプラン・ディレクティブでデータベースのxrmemCacheMinおよびxrmemCacheSize設定が指定されている場合、CDBプランでPDB固有のmemory_min割当て制限はxrmemCacheMin設定の一部になり、PDB固有のmemory_limit値はxrmemCacheSizeの一部になります。

ただし、データベース間IORMプラン・ディレクティブでxrmemCacheMinを指定せずにxrmemCacheSizeが指定されている場合、PDB固有のmemory_min設定は無視されますが、memory_limit設定は引き続きxrmemCacheSizeの一部になります。