5.2.3.6 フラッシュ・キャッシュの属性の使用

IORMプランでフラッシュ・キャッシュ属性を使用して、Exadataスマート・フラッシュ・キャッシュの領域割当てを保証できます。

IORMでは、フラッシュ・キャッシュ属性を使用することで、重要なデータベース用の領域を確保しながら、重要性の低いエンティティや不正なエンティティによってフラッシュ・キャッシュ全体が使用されないようにすることができます。これらの属性は、データベース間プランでのみ指定でき、CellCLIユーティリティを使用して構成されます。

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

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

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

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

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

    Oracle Exadata System Softwareリリース19.2.0以降では、すべてのディレクティブでflashCacheSizeの合計がフラッシュ・キャッシュのサイズより大きい場合、flashCacheSizeは保証された予約ではありません。この場合、flashCacheMinを指定して、保証付きの最小割当て制限を定義することもできます。

例5-10 フラッシュ・キャッシュ属性を使用したデータベース間プランの構成

この例は、フラッシュ・キャッシュ属性を使用してデータベース間プランを作成する方法を示しています。

この例では、salesデータベースとtestデータベースでflashCacheSizeパラメータを使用することにより、フラッシュ・キャッシュの領域容量が割り当てられます。ただし、フラッシュ・キャッシュに空き領域がある場合でも、データベースは指定した割当てを超過できません。

financeデータベースおよびdevデータベースは、flashCacheMinを使用することにより最小割当て制限が保証されます。また、これらのデータベースは、フラッシュ・キャッシュに空き領域がある場合は、指定したflashCacheLimitサイズを超過することもできます。

ALTER IORMPLAN                                                           -
 dbplan=((name=sales, share=8, flashCacheSize=10G),                      -
         (name=finance, share=8, flashCacheLimit=10G, flashCacheMin=2G), -
         (name=dev, share=2, flashCacheLimit=4G, flashCacheMin=1G),      -
         (name=test, share=1, limit=10, flashCacheSize=1G))

例5-11 フラッシュ・キャッシュ属性を使用したデータベース間プランの構成

Oracle Exadata System Softwareリリース19.3.0以降は、同じターゲットに対してflashCacheMinflashCacheSizeの両方を指定できます。

ALTER IORMPLAN                                                  -
 dbplan=((name=sales, share=8, flashCacheMin=3G, flashCacheSize=10G),    -
         (name=finance, share=8, flashCacheLimit=10G, flashCacheMin=2G), -
         (name=dev, share=2, flashCacheLimit=4G, flashCacheMin=1G),      -
         (name=test, share=1, limit=10, flashCacheSize=1G))