ttAgingTableLRUConfig
ttAgingTableLRUConfig
プロシージャは表当たりの行数に基づいてLeast Recently Used (LRU)エージング属性を設定して、削除する行数を制御します。LRUエージング・ポリシーで定義されている、通常の表とキャッシュ表で使用できます。
LRUエージングを使用すると、最低使用頻度のデータを削除することによって、TimesTenデータベースで使用するメモリーの量を、指定されたしきい値の範囲内に維持できます。指定した表の行、および指定したキャッシュ・グループに適用されたときのキャッシュ・インスタンスに基づいてしきい値に達した場合、データは削除されます。表に行のしきい値を設定することで、指定した表から削除される行数を制限できます。
キャッシュ・グループの場合、LRUエージングはキャッシュ・インスタンス全体のルート表で定義されます。LRUエージングは、明示的にロードされる自動リフレッシュ・キャッシュ・グループを除いて、すべてのキャッシュ・グループ・タイプに対して定義できます。動的キャッシュ・グループには、デフォルトでLRUエージングが定義されます。明示的にロードされるキャッシュ・グループの場合、時間ベースのエージングを使用します。
キャッシュ表の場合、エージング・ポリシーはルート表に定義されますが、キャッシュ・グループのすべての表に適用されます。LRUエージングでは、子表から行が自動的に削除されます。エージング・ポリシーは、CREATE TABLE
またはALTER TABLE
SQL文を使用して、エージング・ポリシーが作成または変更されるときに表に定義されます。
LowRowsThreshold
とHighRowsThreshold
の両方が0に設定されている場合、表ベースのLRUエージングはこの表に対して無効になります。この表のLRUエージングは、使用中の永続メモリーしきい値に基づいて切り替えられます。
必要な権限
このプロシージャには、現在の値を問い合せるための権限は必要ありません。現在の値を変更するには、ADMIN
権限が必要です。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャはTimesTen Classicでサポートされていますが、TimesTen Scaleoutではサポートされません。関連ビュー
このプロシージャには関連ビューはありません。
構文
ttAgingTableLRUConfig(tblOwner, tblName, [LowRowsThreshHold], [HighRowsThreshHold], [AgingCycle])
パラメータ
ttAgingTableLRUConfig
には、次のオプションのパラメータがあります。
パラメータ | 型 | 説明 |
---|---|---|
|
|
TimesTen表またはキャッシュ・グループの所有者。 |
|
|
アプリケーション表の名前。キャッシュ・グループのキャッシュ・ルート表を指定します。 |
|
|
LRUエージングが非アクティブ化される行の数を設定、表示またはリセットします。LRUエージングは、行数が表の |
|
|
LRUエージングがアクティブになる行の数を設定、表示またはリセットします。LRUエージングは、行数が表の |
|
|
エージングが実行されるサイクル間隔(分単位)を設定、表示またはリセットします。デフォルトは1分です。このプロシージャを使用してエージングのサイクル間隔を変更すると、サイクルは、このプロシージャがコールされる時間に基づいてリセットされます。たとえば、このプロシージャを午後12時にコールし、15分のサイクルを指定すると、エージングは、12時15分、12時30分、12時45分というように実行されます。 サイクルが値 |
結果セット
ttAgingTableLRUConfig
は次の結果を返します。
列 | 型 | 説明 |
---|---|---|
|
|
TimesTen表またはキャッシュ・グループの所有者。 |
|
|
アプリケーション表またはキャッシュ・ルート表の名前。 |
|
|
LRUエージングが非アクティブ化される行の数。 |
|
|
LRUエージングがアクティブ化される行の数。 |
|
|
エージング・サイクル間の時間に関する現在の設定(分単位)。 |
例
次の例では、user1.table1
表の行のエージングしきい値の下限しきい値を10K行に、上限しきい値を100K行に設定します。エージング・サイクルは、デフォルトで1分ごとに1回実行するように設定されています。
Command> Call ttAgingTableLRUConfig('user1', 'table1', 10000, 100000); < USER1, TABLE1, 10000, 100000, 1 > 1 row found.
次の例では、user1.table1
表の行のエージングしきい値の下限しきい値を5K行に、上限しきい値を12K行に設定します。エージング・サイクルは、2分ごとに1回実行するように設定されます。
Command> Call ttAgingTableLRUConfig('user1', 'table1', 5000, 12000, 2); < USER1, TABLE1, 10000, 100000, 0 > 1 row found.
次の例では、下限および上限のしきい値をゼロに設定して、エージングをオフにします。
Command> Call ttAgingTableLRUConfig('user1', 'table1', 0, 0); < USER1, TABLE1, 0, 0, 1 > 1 row found.
スキーマ所有者および表名のみを使用して組込みプロシージャを実行すると、しきい値設定を取得できます。
Command> Call ttAgingTableLRUConfig('user1', 'table1'); < USER1, TABLE1, 10000, 100000, 1 > 1 row found.
ノート:
このプロシージャの値は、システム障害が発生した後でも維持されます。
パラメータを指定せずにこのプロシージャをコールすると、現在のLRUエージング属性設定が返されます。
関連項目
- ttAgingLRUConfig
- ttAgingScheduleNow
- 『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の「使用状況ベースのエージング」