エージング・サイクルの値にかかわらずエージング・プロセスを起動します。進行中のエージング・プロセスが存在しないかぎり、プロシージャがコールされた直後にエージング・プロセスが開始されます。その場合、組込みプロシージャをコールしたときに進行中だったエージング・プロセスが完了すると、新しいエージング・プロセスが開始されます。
このプロシージャをコールすると、エージングは1回だけ行われます。このプロシージャではエージング属性は変更されません。以前のエージングの状態はそのままです。たとえば、ttAgingScheduleNowをコールしたときにエージングの状態がOFFの場合、エージング・プロセスが開始されます。エージングが完了したときに、エージングの状態がOFFの場合、エージングは続行されません。エージングを続行するには、エージング・サイクルの値に基づいて次にエージングが行われるように、ttAgingScheduleNowを再度コールするか、エージングの状態をONに変更する必要があります。
エージングがONになっている表の場合は、ttAgingScheduleNowがコールされた時点にエージング・サイクルがリセットされます。たとえば、午後12時にこのプロシージャをコールし、15分のエージング・サイクルを指定すると、エージングは即時に行われた後、12時15分、12時30分、12時45分というように再度行われます。
このプロシージャをcron
ジョブなどの外部スケジューラで使用する場合や手動で実行する場合、このプロシージャは、進行中のエージング・プロセスがないときはプロシージャの実行時に、または現在のエージング・プロセスが完了するとすぐにエージング・プロセスを開始します。外部スケジューラがttAgingScheduleNowプロシージャを実行するか、または手動でコールしたときにのみエージングを行う場合は、エージングの状態をOFFに設定します。
アクセス制御がTimesTenのインスタンスに対して有効である場合、このプロシージャにはWRITE権限が必要です。
ttAgingScheduleNow ('tablename')
ttAgingScheduleNowには、次のパラメータがあります。
パラメータ | データ型 | 説明 |
tablename | TT_CHAR (61) | エージング・プロセスを開始する表の名前です。
tableNameを省略すると、エージング・プロセスがエージング・ポリシーで定義されたすべての表で開始されます。 |
ttAgingScheduleNowは結果を返しません。
LRUエージングおよび時間ベース・エージングの両方が定義された表を含む、すべての表でエージングをスケジュールするには、パラメータ値を指定せずにttAgingScheduleNowをコールします。
CALL ttAgingScheduleNow ();
この例では、時間ベースのエージング・ポリシーを指定し、エージングの状態をOFFに設定した表agingex
を作成します。エージング・プロセスを1回起動するために、ttIsqlユーティリティを使用してttAgingScheduleNowをコールします。行は表から削除されます。ttAgingScheduleNowをコールした後も、エージングの状態はOFFのままです。エージングを続行するには、表を変更し、エージング状態をOFFに設定します。
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 TTUSER.AGINGEX:
Columns: *COL1 TT_INTEGER NOT NULL TS TIMESTAMP (6) NOT NULL Aging use TS lifetime 1 minute cycle 30 minutes off1 table found.
(primary key columns are indicated with *)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, 2007-03-25 13:06:29.000000 > < 2, 2007-03-25 13:06:42.000000 > 2 rows found.Command> CALL ttAgingScheduleNow ('agingex');
Command> SELECT * FROM agingex;
0 rows found.
ttAgingLRUConfig
『Oracle TimesTen Cache Connect to Oracle開発者および管理者ガイド』