ユーザー管理キャッシュ・グループのフラッシュ
FLUSH CACHE GROUP
文では、ユーザー管理キャッシュ・グループのTimesTenキャッシュ表にコミットされた挿入および更新をキャッシュされたOracle Database表に手動で伝播します。
フラッシュ処理では、キャッシュ表にコミットされた複数のトランザクションをキャッシュされたOracle Database表に手動で伝播できます。この文は、ユーザー管理キャッシュ・グループでのみ使用できます。削除処理はフラッシュされず、手動で伝播されません。
キャッシュ・グループを定義するときにPROPAGATE
キャッシュ表属性を使用すると、自動伝播が開始されます。TimesTenは、コミット時にコミットされた挿入、更新および削除を、TimesTenでコミットされた順序でOracle Databaseに自動的に伝播します。
AUTOREFRESH
キャッシュ・グループ属性を使用するFLUSH CACHE GROUP
文を使用して、ユーザー管理キャッシュ・グループをフラッシュすることはできません。
キャッシュ表の少なくとも1つがPROPAGATE
とREADONLY
のいずれのキャッシュ表属性も使用していない場合には、FLUSH CACHE GROUP
文を使用してユーザー管理キャッシュ・グループをフラッシュできます。
キャッシュされたOracle Database表にフラッシュされる行を限定するには、FLUSH CACHE GROUP
文でWHERE
句またはWITH ID
句を使用します。
次の例では、FLUSH CACHE GROUP
文を使用してキャッシュ・グループをフラッシュします。これは、western_customers
キャッシュ・グループのTimesTenキャッシュ表にコミットされた挿入処理および更新処理をキャッシュされたOracle Database表に手動で伝播します。
FLUSH CACHE GROUP western_customers;
『Oracle TimesTen In-Memory Database SQLリファレンス』の「FLUSH CACHE GROUP」を参照してください。
次の例では、PROPAGATE
キャッシュ表属性を使用して、ユーザー管理キャッシュ・グループを作成します。
CREATE USERMANAGED CACHE GROUP updateanywherecustomers AUTOREFRESH MODE INCREMENTAL INTERVAL 30 SECONDS STATE ON FROM customer (custid INT NOT NULL, name CHAR(100) NOT NULL, addr CHAR(100), zip INT, PRIMARY KEY(custid), PROPAGATE);
このマニュアルの「PROPAGATEキャッシュ表属性」および『Oracle TimesTen In-Memory Database SQLリファレンス』の「CREATE CACHE GROUP」を参照してください。