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

ノート:

このトピックは、23.1.0より前のOracle Exadata System Softwareリリースにのみ適用されます。それ以外の場合は、「IORMプランでのXRMEMキャッシュの管理について」を参照してください。

I/Oリソース管理(IORM)では、Oracle Exadata Storage Server X8MおよびX9Mで使用可能な永続メモリー(PMEM)キャッシュの領域を保証することで、予測可能なパフォーマンスを実現できます。

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

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

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

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

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

    ただし、pmemCacheSizeを、データベースが使用している現在の領域よりも小さい値に設定した場合、Oracle Exadata System Softwareリリース20.1.0以降では、超過分のデータがキャッシュから事前に消去されます。以前は、別のデータによって上書きされた場合のみ、超過分のデータが削除されていました。

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

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

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

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