ttAgingScheduleNow
ttAgingScheduleNow
プロシージャは、エージング・サイクルの値にかかわらず、エージング・プロセスを開始します。進行中のエージング・プロセスが存在しないかぎり、プロシージャがコールされた直後にエージング・プロセスが開始されます。その場合、組込みプロシージャをコールしたときに進行中だったエージング・プロセスが完了すると、新しいエージング・プロセスが開始されます。
このプロシージャをコールすると、エージングは1回だけ行われます。このプロシージャではエージング属性は変更されません。以前のエージングの状態はそのままです。たとえば、ttAgingScheduleNow
をコールしたときにエージングの状態がOFF
の場合、エージング・プロセスが開始されます。エージングが完了したときに、エージングの状態がOFF
の場合、エージングは続行されません。エージングを続行するには、エージング・サイクルの値に基づいて次にエージングが行われるように、ttAgingScheduleNow
を再度コールするか、エージングの状態をON
に変更する必要があります。
エージングがON
になっている表の場合は、ttAgingScheduleNow
がコールされた時点にエージング・サイクルがリセットされます。たとえば、午後12時にこのプロシージャをコールし、15分のエージング・サイクルを指定すると、エージングは、すぐに実行された後、12時15分、12時30分、12時45分というように再度実行されます。
このプロシージャを手動または外部スケジューラ(cron
ジョブなど)で実行する場合、このプロシージャは、プロシージャの実行時(進行中のエージング・プロセスがない場合)または現在のエージング・プロセスが完了すると、すぐにエージング・プロセスを開始します。外部スケジューラがttAgingScheduleNow
プロシージャを実行するか、または手動でコールしたときにのみエージングを行う場合は、エージングの状態をOFF
に設定します。
エージングは、1秒ごとに起動して処理が必要かどうかをチェックするバックグラウンド・スレッドによって実行されます。ttAgingScheduleNow
をコールしても、指定された表がエージング・スレッドによって処理されるのは次の1秒間になります。組込みプロシージャがコールされたときにエージング・スレッドが別の表を処理していた場合は、指定された表の処理が開始されるまでに多少時間がかかる可能性があります。エージング・スレッドによって削除がコミットされるまで、行は表示されています。
必要な権限
このプロシージャでは、エージングを実行する表に対するDELETE
権限、または表を指定しない場合はDELETE
ANY TABLE
権限が必要です。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutの場合、このプロシージャは、コール元の要素に対してローカルに実行されます。
関連ビュー
このプロシージャには関連ビューはありません。
構文
ttAgingScheduleNow ('tblname')
パラメータ
ttAgingScheduleNow
には、次のパラメータがあります。
パラメータ | 型 | 説明 |
---|---|---|
|
|
エージング・プロセスを開始する表の名前です。
表名の指定にシノニムは使用できません。 |
結果セット
ttAgingScheduleNow
は結果を返しません。
例
LRUエージングおよび時間ベース・エージングの両方が定義された表を含む、すべての表でエージングをスケジュールするには、パラメータ値を指定せずにttAgingScheduleNow
をコールします。
CALL ttAgingScheduleNow ();
この例では、ユーザーsampleuser1
(インスタンス管理者ではない)は、時間ベースのエージング・ポリシーとエージング状態がOFF
に設定された表agingex
を作成します。
Command> CREATE TABLE agingex (col1 TT_INTEGER PRIMARY KEY NOT NULL, ts TIMESTAMP NOT NULL) AGING USE ts LIFETIME 1 MINUTES CYCLE 30 MINUTES OFF; Command> DESCRIBE agingex; Table SAMPLEUSER1.AGINGEX: Columns: *COL1 TT_INTEGER NOT NULL TS TIMESTAMP (6) NOT NULL PRIMARY KEY (COL1) RANGE INDEX Aging: Timestamp based uses column TS lifetime 1 minute cycle 30 minutes off 1 table found. (primary key columns are indicated with *)
ユーザーはデータを含む2つの行を挿入します。次に、ユーザーがttAgingScheduleNow
プロシージャをコールし、行が表から削除されます。ttAgingScheduleNow
をコールした後も、エージングの状態はOFF
のままです。
Command> INSERT INTO agingex VALUES (1, SYSDATE); 1 row inserted. Command> INSERT INTO agingex VALUES (2, SYSDATE); 1 row inserted. Command> SELECT * FROM agingex; < 1, 2022-11-08 23:57:00.000000> < 2, 2022-11-08 23:57:18.000000> 2 rows found. Command> CALL ttAgingScheduleNow ('agingex'); Command> SELECT * FROM agingex; 0 rows found.
関連項目