DBMS_EXT_TABLE_CACHEパッケージ
DBMS_EXT_TABLE_CACHEパッケージには、外部表およびマウントされたカタログを介してAutonomous AI Databaseに公開される表からの頻繁にアクセスされるデータのキャッシュを構成および管理するためのルーチンが用意されています。
DBMS_EXT_TABLE_CACHEサブプログラムの要約
この表は、DBMS_EXT_TABLE_CACHEパッケージに含まれるサブプログラムの概要を示しています。
| サブプログラム | 摘要 |
|---|---|
| ADD_BY_LIKEプロシージャ | 指定されたフィルタに一致する1つ以上のファイルをレイク・キャッシュに追加します。 |
| ADD_FILEプロシージャ | レイクキャッシュにファイルを追加します。 |
| ADD_LATEST_FILESプロシージャ | SINCE引数で指定された時間間隔と現在のタイムスタンプに基づいて、1つ以上のファイルを移入します。 |
| ADD_TABLEプロシージャ | 指定されたソース表からレイク・キャッシュにファイルを追加します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
| CLEARプロシージャ | レイク・キャッシュをクリアします。 |
| CREATE_CACHEプロシージャ | レイク・キャッシュを作成します。 |
| DISABLEプロシージャ | レイク・キャッシュを無効にします。 |
| DROP_BY_LIKEプロシージャ | 指定されたフィルタに基づいて、レイク・キャッシュからファイルをドロップします。 |
| DROP_CACHEプロシージャ | レイク・キャッシュを削除します。 |
| DROP_FILEプロシージャ | 指定されたソース・ファイルをレイク・キャッシュから削除します。 |
| ENABLEプロシージャ | 以前に無効にしたレイク・キャッシュを有効にします。 |
| GET_AVAILABLE_QUOTAファンクション | スキーマまたは特定の外部表キャッシュの残りの使用可能なキャッシュ割当てを返します。 |
| GET_GLOBAL_CACHE_QUOTAファンクション | 解決されたグローバル・キャッシュ割当てを返します。 |
| GET_USER_PROPERTYファンクション | レイク・キャッシュのキャッシュ・プリファレンスを取得します。 |
| REFRESH_TABLEプロシージャ | 存在しなくなったファイルのキャッシュ・データを削除し、新規または変更されたファイルをロードします。 |
| RETIRE_FILESプロシージャ | 指定された間隔より古い1つ以上のファイルをキャッシュから削除します。 |
| SET_USER_PROPERTYプロシージャ | レイク・キャッシュのキャッシュ・プリファレンスを指定します。 |
| VALIDATEプロシージャ | レイク・キャッシュを検証します。 |
ADD_BY_LIKEプロシージャ
DBMS_EXT_TABLE_CACHE.ADD_BY_LIKEプロシージャは、指定された1つ以上のソース・ファイルをレイク・キャッシュにロードします。
構文
DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE (
owner IN VARCHAR2,
table_name IN VARCHAR2,
path_filters IN CLOB,
esc_char IN VARCHAR2 DEFAULT NULL,
force IN BOOLEAN DEFAULT FALSE);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
path_filters |
PATH_FILTERSは、ファイルURL内の指定されたパターンの検索に使用されるパス・フィルタのJSON_ARRAYです。 |
esc_char |
パスフィルタで使用するエスケープ文字を指定します。エスケープ文字がパターンの' このパラメータはオプションであり、このパラメータのデフォルト値は |
force |
ファイルが変更されていなくても、指定した既存のファイルがキャッシュで上書きされます。 このパラメータはオプションで、 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE (
owner => 'SALES',
table_name =>'STORE_SALES',
path_filters => '["https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata1.parquet",
"https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata2.parquet"]'
);
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
使用上のノート
-
デフォルトでは、
DBMS_EXT_TABLE_CACHE.ADD_BY_LIKEプロシージャは次の場合にファイルのロードをスキップします。-
ファイルは以前にキャッシュされ、キャッシュに引き続き使用できました。
-
ファイルは最後にキャッシュされてから変更されていません。
ただし、ファイルが変更されていない場合でも、
forceパラメータを使用してキャッシュ内のファイルを上書きできます。 -
ADD_FILEプロシージャ
DBMS_EXT_TABLE_CACHE.ADD_FILEプロシージャは、指定されたファイルをレイク・キャッシュにロードします。
構文
DBMS_EXT_TABLE_CACHE.ADD_FILE (
owner IN VARCHAR2,
table_name IN VARCHAR2,
file_url IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
file_url |
ファイルURLを指定します。 |
force |
ファイルが変更されていなくても、指定した既存のファイルがキャッシュで上書きされます。 このパラメータはオプションで、 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.ADD_FILE (
owner => 'SALES',
table_name => 'STORE_SALES',
file_url => 'https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata.parquet'
);
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
使用上のノート
-
指定したファイルがキャッシュに存在し、ファイルが最後にキャッシュされてから変更されていない場合、
DBMS_EXT_TABLE_CACHE.ADD_FILEプロシージャは、キャッシュへのファイルのロードをスキップします。 -
forceパラメータを使用すると、ファイルが変更されていない場合でも、キャッシュ内のファイルを上書きできます。
ADD_LATEST_FILESプロシージャ
DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILESは、1つ以上のファイルをレイク・キャッシュに移入します。ファイルは、SINCE引数と現在のタイムスタンプによって決定される時間間隔に基づいて移入されます。
構文
DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES (
owner IN VARCHAR2,
table_name IN VARCHAR2,
since IN INTERVAL DAY TO SECOND,
max_files IN NUMBER,
force IN BOOLEAN DEFAULT FALSE);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
since |
sinceパラメータは、INTERVAL DAY TO SECOND値を受け入れ、since値と現在のタイムスタンプの間の時間間隔を計算するために使用されます。結果の時間間隔は、最後に変更された時間に基づいてファイルを移入するために使用されます。 |
max_files |
レイク・キャッシュに移入できるファイルの数を制限するには、 このパラメータはオプションで、指定しない場合のデフォルトは無制限です。 |
force |
ファイルが変更されていなくても、指定した既存のファイルがキャッシュで上書きされます。 このパラメータはオプションであり、このパラメータのデフォルト値は |
例
BEGIN
DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES (
owner => 'SALES',
table_name => 'STORE_SALES',
since => INTERVAL '7' DAY,
max_files => 5,
force => TRUE);
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
使用上のノート
-
デフォルトでは、
DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILESプロシージャは次の場合にファイルへの移入をスキップします。-
指定されたファイルは以前にキャッシュされ、キャッシュ内で使用可能でした。
-
指定されたファイルは、最後にキャッシュされてから変更されていません。
ただし、ファイルが変更されていない場合でも、
forceパラメータを使用してキャッシュ内のファイルを上書きできます。 -
ADD_TABLEプロシージャ
DBMS_EXT_TABLE_CACHE.ADD_TABLEプロシージャは、表全体またはソース表の特定の割合をキャッシュにロードします。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。
構文
DBMS_EXT_TABLE_CACHE.ADD_TABLE (
owner IN VARCHAR2,
table_name IN VARCHAR2,
percent_files IN NUMBER DEFAULT NULL,
force IN BOOLEAN DEFAULT FALSE);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
percent_files |
キャッシュする表データの割合を指定します。たとえば、1から100です。 デフォルトでは、すべてのファイルがロードされます。 |
force |
ファイルが変更されていなくても、指定したファイルがキャッシュで上書きされます。 このパラメータはオプションで、 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.ADD_TABLE (
owner => 'SALES',
table_name => 'STORE_SALES',
percent_files => 50);
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
使用上のノート
-
DBMS_EXT_TABLE_CACHE.ADD_TABLEは、表全体または指定された割合のファイル・コンテンツをキャッシュにキャッシュしようとします。 -
percent_filesパラメータとforceパラメータは相互に排他的です。 -
デフォルトでは、
DBMS_EXT_TABLE_CACHE.ADD_TABLEプロシージャは次の場合にファイルのロードをスキップします。-
指定されたファイルは以前にキャッシュされ、キャッシュ内で使用可能でした。
-
指定されたファイルは、最後にキャッシュされてから変更されていません。
ただし、ファイルが変更されていない場合でも、
forceパラメータを使用してキャッシュ内のファイルを上書きできます。 -
CLEARプロシージャ
DBMS_EXT_TABLE_CACHE.CLEARプロシージャは、キャッシュを保持しながら、レイク・キャッシュからすべてのファイルを削除します。
構文
DBMS_EXT_TABLE_CACHE.CLEAR (
owner IN VARCHAR2,
table_name IN VARCHAR2);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.CLEAR (
owner => 'SALES',
table_name => 'STORE_SALES');
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
CREATE_CACHEプロシージャ
DBMS_EXT_TABLE_CACHE.CREATE_CACHEプロシージャは、Autonomous AI Databaseインスタンスにレイク・キャッシュを作成します。
構文
DBMS_EXT_TABLE_CACHE.CREATE_CACHE (
owner IN VARCHAR2,
table_name IN VARCHAR2,
partition_type IN VARCHAR2,
col_subset IN VARCHAR2 DEFAULT NULL
);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
partition_type |
詳細は、外部表メタデータ列を参照してください。 |
col_subset |
col_subsetは、キャッシュする列を指定します。外部表の列名のJSON_ARRAYを指定します。これらの列のみがレイク・キャッシュにキャッシュされます。col_subsetはオプションです。col_subsetを指定しない場合、レイク・キャッシュにはデフォルトですべての列が含まれます。 |
例
例: すべての列を含むレイク・キャッシュの作成
BEGIN
DBMS_EXT_TABLE_CACHE.CREATE_CACHE (
owner => 'SALES',
table_name => 'STORE_SALES',
partition_type => 'FILE');
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
例: 列のサブセットを含むレイク・キャッシュの作成
BEGIN
DBMS_EXT_TABLE_CACHE.CREATE_CACHE (
owner => 'SALES',
table_name => 'STORE_SALES',
partition_type => 'FILE',
col_subset => '["PROD_ID","STORE_ID","SALES_AMT"]');
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
使用上のノート
DBMS_EXT_TABLE_CACHE.CREATE_CACHEは、Autonomous AI Databaseインスタンスにレイク・キャッシュを作成します。キャッシュの作成は、データベース・スキーマでの表の作成に似ています。
DISABLEプロシージャ
DBMS_EXT_TABLE_CACHE.DISABLEプロシージャは、指定されたレイク・キャッシュを無効にします。キャッシュは無効としてフラグ付けされますが、キャッシュ内のデータは保持されます。
構文
DBMS_EXT_TABLE_CACHE.DISABLE (
owner IN VARCHAR2,
table_name IN VARCHAR2
);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.DISABLE (
owner => 'SALES',
table_name => 'STORE_SALES');
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
使用上のノート
DBMS_EXT_TABLE_CACHE.DISABLEは、レイク・キャッシュからデータを削除しません。かわりに、キャッシュをDISABLEDとしてマークします。つまり、オプティマイザはクエリー・リライトにキャッシュを使用できません。
DROP_BY_LIKEプロシージャ
DBMS_EXT_TABLE_CACHE.DROP_BY_LIKEプロシージャは、レイク・キャッシュから1つ以上のファイルを削除します。ファイルは、指定されたフィルタに基づいて削除されます。
構文
DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE (
owner IN VARCHAR2,
table_name IN VARCHAR2,
path_filters IN CLOB,
esc_char IN VARCHAR2 DEFAULT NULL);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
path_filters |
PATH_FILTERSは、ファイルURL内の指定されたパターンの検索に使用されるパス・フィルタのJSON_ARRAYです。 |
esc_char |
パスフィルタで使用するエスケープ文字を指定します。エスケープ文字がパターンの' このパラメータはオプションであり、このパラメータのデフォルト値は |
例
BEGIN
DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE (
owner => 'SALES',
table_name => 'STORE_SALES',
path_filters => '["https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata1.parquet",
"https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata2.parquet"]'
);
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
DROP_CACHEプロシージャ
DBMS_EXT_TABLE_CACHE.DROP_CACHEプロシージャは、指定されたレイク・キャッシュを削除します。このプロシージャは、キャッシュを削除し、キャッシュに関連付けられた記憶域を解放します。
構文
DBMS_EXT_TABLE_CACHE.DROP_CACHE (
owner IN VARCHAR2,
table_name IN VARCHAR2
);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.DROP_CACHE (
owner => 'SALES',
table_name => 'STORE_SALES');
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
使用上のノート
- キャッシュを削除すると、そのメタデータがデータ・ディクショナリから削除され、そのキャッシュされたすべてのデータが削除されます。
DROP_FILEプロシージャ
DBMS_EXT_TABLE_CACHE.DROP_FILEプロシージャは、指定されたファイルをレイク・キャッシュから削除します。
構文
DBMS_EXT_TABLE_CACHE.DROP_FILE (
owner IN VARCHAR2,
table_name IN VARCHAR2,
file_url IN VARCHAR2);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
file_url |
ファイルURLを指定します。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.DROP_FILE (
owner => 'SALES',
table_name => 'STORE_SALES',
file_url => 'https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata.parquet'
);
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
ENABLEプロシージャ
DBMS_EXT_TABLE_CACHE.ENABLEプロシージャは、以前に無効にしたレイク・キャッシュを有効にします。キャッシュが作成されると、デフォルトで有効になります。
構文
DBMS_EXT_TABLE_CACHE.ENABLE (
owner IN VARCHAR2,
table_name IN VARCHAR2
);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.ENABLE (
owner => 'SALES',
table_name => 'STORE_SALES'
);
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
GET_AVAILABLE_QUOTAファンクション
DBMS_EXT_TABLE_CACHE.GET_AVAILABLE_QUOTAファンクションでは、スキーマまたは特定の外部表キャッシュの使用可能な残りのキャッシュ割当て制限を取得します。
構文
DBMS_EXT_TABLE_CACHE.GET_AVAILABLE_QUOTA (
owner IN VARCHAR2,
table_name IN VARCHAR2 DEFAULT NULL,
no_cache OUT BOOLEAN,
total_quota OUT NUMBER
)
RETURN NUMBER;パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
外部表名を指定します。table_nameがNULLの場合、このファンクションはスキーマの割当て情報を返します。 |
no_cache |
使用可能なキャッシュ割当てがない場合、TRUEを返します。 |
total_quota |
スキーマまたはキャッシュで使用可能な合計割当て容量を返します。 |
戻り値
使用可能な残りの割当てを返します。
例
スキーマの使用可能な割当てをチェックする例:
SET SERVEROUTPUT ON;
DECLARE
l_available_quota NUMBER;
l_total_quota NUMBER;
l_no_cache BOOLEAN;
BEGIN
l_available_quota := DBMS_EXT_TABLE_CACHE.GET_AVAILABLE_QUOTA(
owner => 'HR',
table_name => NULL,
no_cache => l_no_cache,
total_quota => l_total_quota);
IF l_no_cache THEN
DBMS_OUTPUT.PUT_LINE('NO_CACHE=TRUE');
ELSE
DBMS_OUTPUT.PUT_LINE('NO_CACHE=FALSE');
END IF;
DBMS_OUTPUT.PUT_LINE('TOTAL_QUOTA=' || l_total_quota);
DBMS_OUTPUT.PUT_LINE('AVAILABLE_QUOTA=' || l_available_quota);
END;
/特定の外部表キャッシュの使用可能な割当て制限を確認する例:
SET SERVEROUTPUT ON;
DECLARE
l_available_quota NUMBER;
l_total_quota NUMBER;
l_no_cache BOOLEAN;
BEGIN
l_available_quota := DBMS_EXT_TABLE_CACHE.GET_AVAILABLE_QUOTA(
owner => 'SALES',
table_name => 'STORE_SALES',
no_cache => l_no_cache,
total_quota => l_total_quota);
IF l_no_cache THEN
DBMS_OUTPUT.PUT_LINE('NO_CACHE=TRUE');
ELSE
DBMS_OUTPUT.PUT_LINE('NO_CACHE=FALSE');
END IF;
DBMS_OUTPUT.PUT_LINE('TOTAL_QUOTA=' || l_total_quota);
DBMS_OUTPUT.PUT_LINE('AVAILABLE_QUOTA=' || l_available_quota);
END;
/GET_GLOBAL_CACHE_QUOTAファンクション
解決されたグローバル・キャッシュ割当て制限を取得するには、DBMS_EXT_TABLE_CACHE.GET_GLOBAL_CACHE_QUOTAファンクションを使用します。
構文
DBMS_EXT_TABLE_CACHE.GET_GLOBAL_CACHE_QUOTA
RETURN NUMBER;戻り値
GLOBAL_CACHE_SIZEおよびGLOBAL_CACHE_PERCENTに基づいて解決されたグローバル・キャッシュ割当てを返します。
使用上のノート
-
GLOBAL_CACHE_SIZEとGLOBAL_CACHE_PERCENTの両方が設定されている場合は、大きい値が使用されます。 -
どちらのグローバル割当て制限プロパティも明示的に設定されていない場合、
GLOBAL_CACHE_PERCENTのデフォルトは20です。
例
SET SERVEROUTPUT ON;
DECLARE
l_global_quota NUMBER;
BEGIN
l_global_quota := DBMS_EXT_TABLE_CACHE.GET_GLOBAL_CACHE_QUOTA;
DBMS_OUTPUT.PUT_LINE('GLOBAL_CACHE_QUOTA=' || l_global_quota);
END;
/GET_USER_PROPERTYファンクション
このファンクションは、指定されたスキーマのキャッシュ・プリファレンスを戻し、Numberを戻します。
MAX_CACHE_SIZEおよびMAX_CACHE_PERCENTは、グローバル割当て制限モデル内のスキーマ・レベルの割当て制限制御です。
構文
DBMS_EXT_TABLE_CACHE.GET_USER_PROPERTY (
property_name IN VARCHAR2,
owner IN VARCHAR2 DEFAULT NULL);
RETURN NUMBER;パラメータ
| パラメータ | 摘要 |
|---|---|
property_name |
プロパティ名を指定します。
|
owner |
スキーマ名を指定します。 |
戻り値
| 戻り値 | 摘要 |
|---|---|
NumberのMAX_CACHE_SIZEまたはMAX_CACHE_PERCENT値。 |
property_nameパラメータに応じて、MAX_CACHE_SIZEまたはMAX_CACHE_PERCENT値が戻されます。 |
使用上のノート
-
グローバル・キャッシュ割当てがわかっている場合、
MAX_CACHE_PERCENTは解決されたグローバル割当てに基づきます。それ以外の場合は、スキーマまたはキャッシュ表領域の割当て制限に基づきます。 -
MAX_CACHE_SIZEとMAX_CACHE_PERCENTの両方が設定されている場合は、大きい値が使用されます。 -
いずれのスキーマ・レベルの割当て制限プロパティも明示的に設定されていない場合、
MAX_CACHE_PERCENTのデフォルトは20です。 -
手動キャッシュと
AUTOキャッシュは、同じ割当てプールを消費します。
例
SET SERVEROUTPUT ON;
DECLARE
l_max_cache_sz NUMBER;
BEGIN
l_max_cache_sz := DBMS_EXT_TABLE_CACHE.GET_USER_PROPERTY(
property_name => 'MAX_CACHE_SIZE',
owner => 'SALES');
DBMS_OUTPUT.PUT_LINE('MAX_CACHE_SIZE=' || l_max_cache_sz);
END;
/REFRESH_TABLEプロシージャ
DBMS_EXT_TABLE_CACHE.REFRESH_TABLEプロシージャは、存在しなくなったファイルのキャッシュ・データを削除し、新規または変更されたファイルをロードします。
構文
DBMS_EXT_TABLE_CACHE.REFRESH_TABLE (
owner IN VARCHAR2,
table_name IN VARCHAR2);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
例
この例では、SALESスキーマのSTORE_SALES表のキャッシュされたデータをリフレッシュします。
BEGIN
DBMS_EXT_TABLE_CACHE.REFRESH_TABLE (
owner => 'SALES',
table_name => 'STORE_SALES');
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
RETIRE_FILESプロシージャ
DBMS_EXT_TABLE_CACHE.RETIRE_FILESは、指定した間隔より古いファイルをキャッシュから削除します。ファイルは、BEFOREパラメータ値を使用して計算された時間間隔に基づいて削除されます。
構文
DBMS_EXT_TABLE_CACHE.RETIRE_FILES (
owner IN VARCHAR2,
table_name IN VARCHAR2,
before IN INTERVAL DAY TO SECOND
);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
before |
beforeパラメータは、INTERVAL DAY TO SECOND値を受け入れ、before値と現在のタイムスタンプの間の時間間隔を計算するために使用されます。その後、キャッシュからファイルを削除するために、結果の時間間隔が使用されます。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.RETIRE_FILES (
owner => 'SALES',
table_name => 'STORE_SALES',
before => INTERVAL '30' DAY);
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。
SET_USER_PROPERTYプロシージャ
DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTYプロシージャは、スキーマのキャッシュ・プリファレンスを設定します。
MAX_CACHE_SIZEおよびMAX_CACHE_PERCENTを使用して、ポリシーベース・キャッシュのスキーマ・レベルの割当てプリファレンスを設定します。
構文
DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY (
property_name IN VARCHAR2,
property_value IN NUMBER,
owner IN VARCHAR2 DEFAULT NULL);パラメータ
| パラメータ | 摘要 |
|---|---|
property_name |
プロパティ名を指定します。
|
property_value |
プロパティ値を指定します。 |
owner |
スキーマ名を指定します。 |
使用上のノート
-
グローバル・キャッシュ割当てがわかっている場合、
MAX_CACHE_PERCENTは解決されたグローバル割当てに基づきます。それ以外の場合は、スキーマまたはキャッシュ表領域の割当て制限に基づきます。 -
MAX_CACHE_SIZEとMAX_CACHE_PERCENTの両方が設定されている場合は、大きい値が使用されます。 -
いずれのスキーマ・レベルの割当て制限プロパティも明示的に設定されていない場合、
MAX_CACHE_PERCENTのデフォルトは20です。 -
MAX_CACHE_SIZEがGLOBAL_CACHE_SIZEより大きい値に設定されている場合は、エラーが発生します。 -
手動キャッシュと
AUTOキャッシュは、同じ割当てプールを消費します。
例
BEGIN
DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY(
property_name => 'MAX_CACHE_PERCENT',
property_value => 100,
owner => 'SALES');
END;
/VALIDATEプロシージャ
DBMS_EXT_TABLE_CACHE.VALIDATEプロシージャは、レイク・キャッシュを検証します。参照されたソース表がデータベースに見つからない場合は、エラーが報告されます。
構文
DBMS_EXT_TABLE_CACHE.VALIDATE (
owner IN VARCHAR2,
table_name IN VARCHAR2,
raise_errors IN BOOLEAN DEFAULT TRUE);パラメータ
| パラメータ | 摘要 |
|---|---|
owner |
スキーマ名を指定します。 |
table_name |
ソース表名を指定します。ソース表は、外部表またはマウントされたカタログを介して公開される表のいずれかです。 |
raise_errors |
レイク・キャッシュが無効とマークされた場合にレポートします。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.VALIDATE (
owner => 'SALES',
table_name => 'STORE_SALES',
raise_errors => TRUE);
END;
/このプロシージャは、マウントされたカタログを介して公開される表もサポートします。