DBMS_RESULT_CACHE
パッケージは、SQLの結果キャッシュおよびPL/SQLファンクションの結果キャッシュによって使用される共有プールの一部をDBAが管理するためのインタフェースを提供します。これらのキャッシュは同じインフラストラクチャを使用します。このため、たとえば、DBMS_RESULT_CACHE
.BYPASS
では、両方のキャッシュに対してバイパスまたは使用が設定され、DBMS_RESULT_CACHE
.FLUSH
では、SQL文の問合せおよびPL/SQLファンクションの両方について、キャッシュされた結果がすべてフラッシュされます。
関連項目:
|
この章では、次の項目について説明します。
セキュリティ・モデル
定数
表133-2 DBMS_RESULT_CACHEパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
結果キャッシュのバイパス・モードを設定します。 |
|
結果キャッシュからすべてのオブジェクトを削除しようとします。引数に応じて、メモリーを保持または解放し、統計を保持または消去します。 |
|
指定した依存オブジェクトに依存するすべての結果セットのオブジェクトを無効化します。 |
INVALIDATE_OBJECTファンクションおよびプロシージャ |
指定した結果セットのオブジェクトを無効化します。 |
|
結果キャッシュのメモリー使用量のレポートを作成します。 |
|
結果キャッシュのステータスをチェックします。 |
このプロシージャは、結果キャッシュのバイパス・モードを設定します。
バイパス・モードをオンにすると、キャッシュされた結果は使用されなくなり、新しい結果はキャッシュに保存されません。
バイパス・モードをオフにすると、キャッシュは通常の操作を再開します。
例
この操作は、実行中のシステムでPL/SQLコードにホット・パッチを適用する必要がある場合に使用できます。結果がキャッシュされたファンクションが直接または推移的に依存しているPL/SQLモジュールにコード・パッチが適用された場合、結果キャッシュのファンクションに関連付けられているキャッシュされた結果は自動的にはフラッシュされません(インスタンスが再開またはバウンスしない場合)。フラッシュは手動で行う必要があります。
パッチ・プロセスを正常に行うには、次の手順を実行します。
結果キャッシュをバイパス・モードに設定し、既存の結果をフラッシュします。
BEGIN DBMS_RESULT_CACHE.BYPASS(TRUE); DBMS_RESULT_CACHE.FLUSH; END; /
Oracle Real Application Clusters環境では、インスタンスごとにこのステップを実行する必要があります。
PL/SQLコード・パッチを適用します。
キャッシュのバイパス・モードを無効にして、結果キャッシュの使用を再開します。
BEGIN DBMS_RESULT_CACHE.BYPASS(FALSE); END; /
Oracle Real Application Clusters環境では、インスタンスごとにこのステップを実行する必要があります。
このファンクションおよびプロシージャは、結果キャッシュからすべてのオブジェクトを削除しようとします。引数に応じて、メモリーを保持または解放し、統計を保持または消去します。
構文
DBMS_RESULT_CACHE.FLUSH ( retainMem IN BOOLEAN DEFAULT FALSE, retainSta IN BOOLEAN DEFAULT FALSE) RETURN BOOLEAN;
DBMS_RESULT_CACHE.FLUSH ( retainMem IN BOOLEAN DEFAULT FALSE, retainSta IN BOOLEAN DEFAULT FALSE);
このファンクションおよびプロシージャは、指定した依存オブジェクトに依存するすべての結果セットのオブジェクトを無効化します。
構文
DBMS_RESULT_CACHE.INVALIDATE ( owner IN VARCHAR2, name IN VARCHAR2) RETURN NUMBER;
DBMS_RESULT_CACHE.INVALIDATE ( owner IN VARCHAR2, name IN VARCHAR2);
DBMS_RESULT_CACHE.INVALIDATE ( object_id IN BINARY_INTEGER) RETURN NUMBER;
DBMS_RESULT_CACHE.INVALIDATE ( object_id IN BINARY_INTEGER);
このファンクションおよびプロシージャは、指定した結果セットのオブジェクトを無効化します。
構文
DBMS_RESULT_CACHE.INVALIDATE_OBJECT ( id IN BINARY_INTEGER) RETURN NUMBER;
DBMS_RESULT_CACHE.INVALIDATE_OBJECT ( id IN BINARY_INTEGER);
DBMS_RESULT_CACHE.INVALIDATE_OBJECT ( cache_id IN VARCHAR2) RETURN NUMBER;
DBMS_RESULT_CACHE.INVALIDATE_OBJECT ( cache_id IN VARCHAR2);