ヘッダーをスキップ
Oracle TimesTen In-Memory Database APIリファレンス・ガイド
リリース7.0
E05170-03
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

ttAgingScheduleNow

説明

エージング・サイクルの値にかかわらずエージング・プロセスを起動します。進行中のエージング・プロセスが存在しないかぎり、プロシージャがコールされた直後にエージング・プロセスが開始されます。その場合、組込みプロシージャをコールしたときに進行中だったエージング・プロセスが完了すると、新しいエージング・プロセスが開始されます。

このプロシージャをコールすると、エージングは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は結果を返しません。

例2.5

LRUエージングおよび時間ベース・エージングの両方が定義された表を含む、すべての表でエージングをスケジュールするには、パラメータ値を指定せずにttAgingScheduleNowをコールします。

CALL ttAgingScheduleNow ();

例2.6

この例では、時間ベースのエージング・ポリシーを指定し、エージングの状態を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 off 
 

1 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開発者および管理者ガイド』