ユーザー管理キャッシュ・グループのフラッシュ

FLUSH CACHE GROUP文では、ユーザー管理キャッシュ・グループのTimesTenキャッシュ表にコミットされた挿入および更新をキャッシュされたOracle Database表に手動で伝播します。

フラッシュ処理では、キャッシュ表にコミットされた複数のトランザクションをキャッシュされたOracle Database表に手動で伝播できます。この文は、ユーザー管理キャッシュ・グループでのみ使用できます。削除処理はフラッシュされず、手動で伝播されません。

キャッシュ・グループを定義するときにPROPAGATEキャッシュ表属性を使用すると、自動伝播が開始されます。TimesTenは、コミット時にコミットされた挿入、更新および削除を、TimesTenでコミットされた順序でOracle Databaseに自動的に伝播します。

AUTOREFRESHキャッシュ・グループ属性を使用するFLUSH CACHE GROUP文を使用して、ユーザー管理キャッシュ・グループをフラッシュすることはできません。

キャッシュ表の少なくとも1つがPROPAGATEREADONLYのいずれのキャッシュ表属性も使用していない場合には、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」を参照してください。