自動リフレッシュの制限
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 EVERYnROWS句を続ける必要があります。「WHERE句の使用」を参照してください。
-
REFRESH CACHE GROUP文をキャッシュ・グループに対して発行するには、自動リフレッシュ状態がPAUSEDになっている必要があります。REFRESH CACHE GROUP文にWHERE句を含めることはできません。 -
キャッシュ・グループの作成、ロードまたはアンロード時に
WHERE句で参照されるすべての表および列は、完全修飾されている必要があります。たとえば、次のようにします:owner.table_nameandowner.table_name.column_name -
ユーザー管理キャッシュ・グループで
AUTOREFRESHキャッシュ・グループ属性を使用するには、すべてのキャッシュ表にPROPAGATEキャッシュ表属性が指定されているか、またはすべてのキャッシュ表にREADONLYキャッシュ表属性が指定されている必要があります。 -
NOT PROPAGATEキャッシュ表属性を明示的に使用するキャッシュ表を含むユーザー管理キャッシュ・グループでは、AUTOREFRESHキャッシュ・グループ属性を指定できません。 -
ユーザー管理キャッシュ・グループにOracle Databaseマテリアライズド・ビューをキャッシュする場合は、
AUTOREFRESHキャッシュ表属性を使用できません。 -
LRUエージングがデフォルトで定義されている、キャッシュ・グループが動的である場合を除いて、キャッシュ・グループにLRUエージングを指定できません。
「TimesTen ClassicでのLRUエージング」を参照してください。
-
TimesTen Classicで自動リフレッシュを使用する静的キャッシュ・グループでレプリケーションを使用する場合は、アクティブ・スタンバイ・ペアのレプリケーション・スキームのみを使用できます。その他のタイプのレプリケーション・スキームは、TimesTen Classicで自動リフレッシュを使用した静的キャッシュ・グループでは許可されません。