TimesTen Classicでのエージング・プロセスの手動スケジューリング

指定された表またはエージング・ポリシーが定義されているすべての表でワンタイム・エージング・プロセスを手動で開始するには、ttAgingScheduleNow組込みプロシージャを使用します。

進行中のエージング・プロセスが存在する場合を除いて、組込みプロシージャをコールするとすぐにエージング・プロセスが開始されます。エージング・プロセスが進行中の場合、手動で開始したエージング・プロセスは、進行中のエージング・プロセスが完了したときに開始されます。手動で開始したエージング・プロセスが完了した後、表のエージング状態がONの場合は、その表の次のエージング・サイクルの開始がttAgingScheduleNowがコールされた時点に設定されます。

次の例では、ttAgingScheduleNowがコールされるタイミングに基づいて、ttAgingScheduleNow組込みプロシージャがsales.orders表のワンタイム・エージング・プロセスを開始する方法を示します:

Command> CALL ttAgingScheduleNow('sales.orders');

sales.ordersルート表内でエージングの対象となる行のみならず、sales.order_item子表内の関連行も削除されます。

ttAgingScheduleNow組込みプロシージャをコールすると、表のエージング状態がONOFFかにかかわらず、エージング処理が開始されます。特定のキャッシュ・グループでエージング・プロセスを開始する場合は、組込みプロシージャをコールするとき、キャッシュ・グループのルート表の名前を指定します。パラメータを指定しないで組込みプロシージャttAgingScheduleNowがコールされた場合、エージング・プロセスが開始された後、TimesTenデータベース内のエージング・ポリシーが定義されたすべての表で、次のエージング・サイクルの開始がリセットされます。

ttAgingScheduleNow組込みプロシージャをコールしても、表のエージング状態は変わりません。組込みプロシージャをコールしたときに表のエージング状態がOFFの場合、エージング・プロセスは開始されますが、そのプロセスが完了した後にプロセスの実行が再度スケジュールされることはありません。エージング状態がOFFである表のエージングを続行するには、ttAgingScheduleNowを再度コールするか、または表のエージング状態をONに変更する必要があります。

キャッシュ・グループのエージングを手動で制御するには、ALTER TABLE文でSET AGING OFF句を指定して、ルート表のエージングを無効にします。次に、ttAgingScheduleNowをコールして、キャッシュ・グループに対してエージング・プロセスを開始します。