自動リフレッシュの制限

AUTOREFRESHキャッシュ・グループ属性を使用する場合、制限があります。

  • TimesTen Scaleoutでは、増分自動リフレッシュを使用した静的な読取り専用のキャッシュ・グループのみがサポートされます。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』「TimesTen Scaleoutでのキャッシュ・グループの使用」を参照してください。

  • キャッシュ・グループに対してFLUSH CACHE GROUP文を発行できません。

    「ユーザー管理キャッシュ・グループのフラッシュ」を参照してください。

  • キャッシュされたOracle Database表に対して発行されたTRUNCATE TABLE文は、TimesTenキャッシュ表に自動的にリフレッシュされません。キャッシュされたOracle Database表に対してTRUNCATE TABLE文を発行する前に、ALTER CACHE GROUP文を使用して、キャッシュ表を含むキャッシュ・グループの自動リフレッシュ状態をPAUSEDに変更してください。

    「キャッシュ・グループの変更によるAUTOREFRESHのモード、間隔または状態の変更」を参照してください。

    キャッシュされたOracle Database表に対してTRUNCATE TABLE文を発行した後、REFRESH CACHE GROUP文を使用してキャッシュ・グループを手動でリフレッシュします。

  • キャッシュ・グループが動的である場合を除いて、LOAD CACHE GROUP文を発行できるのはキャッシュ表が空の場合のみです。

    「キャッシュ・グループの手動によるロードおよびリフレッシュ」および「DYNAMICキーワードを使用した動的キャッシュ・グループの作成」を参照してください。

  • キャッシュ・グループが動的である場合を除き、キャッシュ・グループに対してLOAD CACHE GROUP文を発行するには、自動リフレッシュ状態はPAUSEDになっている必要があります。キャッシュ・グループが動的である場合、自動リフレッシュ状態はPAUSEDまたはONである必要があります。

  • キャッシュ・グループが動的でない場合は、LOAD CACHE GROUP文にWHERE句を含めることはできません。キャッシュ・グループが動的である場合、WHERE句の後にCOMMIT EVERY n ROWS句を続ける必要があります。

    「WHERE句の使用」を参照してください。

  • REFRESH CACHE GROUP文をキャッシュ・グループに対して発行するには、自動リフレッシュ状態がPAUSEDになっている必要があります。REFRESH CACHE GROUP文にWHERE句を含めることはできません。

  • キャッシュ・グループの作成、ロードまたはアンロード時にWHERE句で参照されるすべての表および列は、完全修飾されている必要があります。たとえば、次のようにします:

    owner.table_name and owner.table_name.column_name

  • ユーザー管理キャッシュ・グループでAUTOREFRESHキャッシュ・グループ属性を使用するには、すべてのキャッシュ表にPROPAGATEキャッシュ表属性が指定されているか、またはすべてのキャッシュ表にREADONLYキャッシュ表属性が指定されている必要があります。

  • NOT PROPAGATEキャッシュ表属性を明示的に使用するキャッシュ表を含むユーザー管理キャッシュ・グループでは、AUTOREFRESHキャッシュ・グループ属性を指定できません。

  • ユーザー管理キャッシュ・グループにOracle Databaseマテリアライズド・ビューをキャッシュする場合は、AUTOREFRESHキャッシュ表属性を使用できません。

  • LRUエージングがデフォルトで定義されている、キャッシュ・グループが動的である場合を除いて、キャッシュ・グループにLRUエージングを指定できません。

    「TimesTen ClassicでのLRUエージング」を参照してください。

  • TimesTen Classicで自動リフレッシュを使用する静的キャッシュ・グループでレプリケーションを使用する場合は、アクティブ・スタンバイ・ペアのレプリケーション・スキームのみを使用できます。その他のタイプのレプリケーション・スキームは、TimesTen Classicで自動リフレッシュを使用した静的キャッシュ・グループでは許可されません。