TimesTen Classicでのエージング・プロセスの手動スケジューリング
指定された表またはエージング・ポリシーが定義されているすべての表でワンタイム・エージング・プロセスを手動で開始するには、ttAgingScheduleNow
組込みプロシージャを使用します。
進行中のエージング・プロセスが存在する場合を除いて、組込みプロシージャをコールするとすぐにエージング・プロセスが開始されます。エージング・プロセスが進行中の場合、手動で開始したエージング・プロセスは、進行中のエージング・プロセスが完了したときに開始されます。手動で開始したエージング・プロセスが完了した後、表のエージング状態がON
の場合は、その表の次のエージング・サイクルの開始がttAgingScheduleNow
がコールされた時点に設定されます。
次の例では、ttAgingScheduleNow
がコールされるタイミングに基づいて、ttAgingScheduleNow
組込みプロシージャがsales.orders
表のワンタイム・エージング・プロセスを開始する方法を示します:
Command> CALL ttAgingScheduleNow('sales.orders');
sales.orders
ルート表内でエージングの対象となる行のみならず、sales.order_item
子表内の関連行も削除されます。
ttAgingScheduleNow
組込みプロシージャをコールすると、表のエージング状態がON
かOFF
かにかかわらず、エージング処理が開始されます。特定のキャッシュ・グループでエージング・プロセスを開始する場合は、組込みプロシージャをコールするとき、キャッシュ・グループのルート表の名前を指定します。パラメータを指定しないで組込みプロシージャttAgingScheduleNow
がコールされた場合、エージング・プロセスが開始された後、TimesTenデータベース内のエージング・ポリシーが定義されたすべての表で、次のエージング・サイクルの開始がリセットされます。
ttAgingScheduleNow
組込みプロシージャをコールしても、表のエージング状態は変わりません。組込みプロシージャをコールしたときに表のエージング状態がOFF
の場合、エージング・プロセスは開始されますが、そのプロセスが完了した後にプロセスの実行が再度スケジュールされることはありません。エージング状態がOFF
である表のエージングを続行するには、ttAgingScheduleNow
を再度コールするか、または表のエージング状態をON
に変更する必要があります。
キャッシュ・グループのエージングを手動で制御するには、ALTER TABLE
文でSET AGING OFF
句を指定して、ルート表のエージングを無効にします。次に、ttAgingScheduleNow
をコールして、キャッシュ・グループに対してエージング・プロセスを開始します。