自動ビッグ・テーブル・キャッシングでは、問合せをバッファ・キャッシュと統合して、単一インスタンス環境とOracle RAC環境の両方で、Oracle Databaseのインメモリー問合せ機能を拡張します。
Oracle Real Application Clusters (Oracle RAC)環境では、この機能はパラレル問合せでのみサポートされます。単一インスタンス環境では、この機能はパラレル問合せとシリアル問合せの両方でサポートされます。
大きな表のキャッシュに予約されているキャッシュ・セクションが、表スキャンのためのデータのキャッシュに使用されます。大きな表のキャッシュは主としてデータ・ウェアハウスのワークロードのパフォーマンスを高めるために設計されていますが、混在するワークロードを実行するOracle Databaseのパフォーマンスも向上します。
自動ビッグ表キャッシュでは、温度およびオブジェクト・ベースのアルゴリズムを使用して中間表およびビッグ表を追跡します。Oracleではかなり小規模の表をキャッシュしますが、自動ビッグ表キャッシュではこれらの表は追跡されません。
シリアル問合せで自動ビッグ・テーブル・キャッシングを有効化するには、DB_BIG_TABLE_CACHE_PERCENT_TARGET
初期化パラメータの値(パーセント)を設定する必要があります。さらに、パラレル問合せで自動ビッグ・テーブル・キャッシングの使用を有効化するには、PARALLEL_DEGREE_POLICY
初期化パラメータをAUTO
またはADAPTIVE
に設定する必要があります。Oracle RAC環境では、自動ビッグ・テーブル・キャッシングはパラレル問合せでのみサポートされるため、両方の設定が必要です。
大きい表のサイズがほぼ、すべてのインスタンスの大きい表のキャッシュを合計したサイズである場合、すべてのインスタンスで、表はパーティション化されてキャッシュされます(または大部分がキャッシュされます)。インメモリー問合せで表の問合せのほとんどのディスク読取りが排除されるか、データベースで大きい表のキャッシュに入らない表の部分についてのみディスク読取りが行われます。大きい表のキャッシュでスキャン対象のすべての表をキャッシュできない場合、最も頻繁にアクセスされる表のみがキャッシュされ、残りは直接読取りで自動的に読み取られます。
DB_BIG_TABLE_CACHE_PERCENT_TARGET
パラメータは、スキャンに使用するバッファ・キャッシュ・サイズのパーセントを決定します。DB_BIG_TABLE_CACHE_PERCENT_TARGET
を80
(%)に設定した場合、バッファ・キャッシュの80
(%)がスキャンに使用され、残りの20
(%)がOLTPワークロードに使用されます。
PARALLEL_DEGREE_POLICY
がAUTO
またはADAPTIVE
に設定されている場合、DB_BIG_TABLE_CACHE_PERCENT_TARGET
パラメータはOracle RAC環境でのみ有効化されます。DB_BIG_TABLE_CACHE_PERCENT_TARGET
のデフォルトは0
(無効)で、上限は90
(%)で、少なくとも10%のバッファ・キャッシュを表スキャン以外の使用のために予約しています。値が0
の場合、インメモリー問合せは既存のLeast Recently Used (LRU)メカニズムで実行されます。DB_BIG_TABLE_CACHE_PERCENT_TARGET
パラメータは動的に調整できます。
DB_BIG_TABLE_CACHE_PERCENT_TARGET
パラメータの設定時には、次のガイドラインを使用してください。
Oracle RAC環境で自動DOPを有効にしない場合は、このパラメータを設定しないでください。このような場合、大きい表のキャッシュ・セクションは使用されないためです。
このパラメータを設定する際は、ワークロードの混在を検討する必要があります(OLTPにどれだけのワークロードを要するか; 挿入、更新、ランダム・アクセス; 表スキャンにどれだけのワークロードを要するか)。データ・ウェアハウスのワークロードではしばしば、大きい表のスキャンが実行されるため、大きい表のキャッシュ・セクションに、データ・ウェアハウス用に大きい割合のバッファ・キャッシュ領域を付与することを検討できます。
このパラメータは、ワークロードが変わると、動的に変わる可能性があります。その時にバッファ・キャッシュ・メモリーがアクティブに使用されている可能性があるため、目標を達成する現在のワークロードによっては、変更に多少時間がかかることがあります。
PARALLEL_DEGREE_POLICY
がAUTO
またはADAPTIVE
に設定されている場合、データ・ウェアハウスのロードおよびスキャン・バッファのオブジェクトレベルの統計が追加され、特定(ヘルパー)インスタンスのオブジェクトのパラレル(PQ)スキャン数が示されます。
V$BT_SCAN_CACHE
およびV$BT_SCAN_OBJ_TEMPS
ビューには、大きい表のキャッシュに関する情報が表示されます。
関連項目:
自動ビッグ・テーブル・キャッシングの詳細は、『Oracle Database管理者ガイド』を参照してください。
自動ビッグ・テーブル・キャッシングの詳細は、『Oracle Database概要』を参照してください。
DB_BIG_TABLE_CACHE_PERCENT_TARGET
初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください
V$BT_SCAN*
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。