DBMS_EXT_TABLE_CACHEパッケージ
DBMS_EXT_TABLE_CACHE
パッケージは、外部表からAutonomous Databaseへの頻繁にアクセスされるデータのキャッシュを構成および管理するためのルーチンを提供します。
- DBMS_EXT_TABLE_CACHEサブプログラムの概要
この表は、DBMS_EXT_TABLE_CACHE
パッケージに含まれるサブプログラムの概要を示しています。
DBMS_EXT_TABLE_CACHEサブプログラムの要約
この表は、DBMS_EXT_TABLE_CACHE
パッケージに含まれるサブプログラムの概要を示しています。
サブプログラム | 説明 |
---|---|
指定されたフィルタに一致する1つ以上のファイルを外部表キャッシュに追加します。 |
|
外部表キャッシュにファイルを追加します。 |
|
指定された外部表から外部表キャッシュにファイルを追加します。 |
|
外部表キャッシュをクリアします。 |
|
外部表キャッシュを作成します。 |
|
外部表キャッシュを無効にします。 |
|
指定されたフィルタに基づいて、外部表キャッシュからファイルをドロップします。 |
|
外部表キャッシュを削除します。 |
|
外部表キャッシュから指定された外部表ファイルを削除します。 |
|
以前に無効にした外部表キャッシュを有効にします。 |
|
外部表キャッシュのキャッシュ・プリファレンスを取得します。 |
|
指定された間隔より古い1つ以上のファイルをキャッシュから削除します。 |
|
外部表キャッシュのキャッシュ・プリファレンスを指定します。 |
|
外部表キャッシュを検証します。 |
- ADD_BY_LIKEプロシージャ
DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE
プロシージャは、指定した1つ以上のファイルをオブジェクト・ストアから外部表キャッシュにロードします。 - ADD_FILEプロシージャ
DBMS_EXT_TABLE_CACHE.ADD_FILE
プロシージャは、指定したファイルを外部表キャッシュにロードします。 - ADD_LATEST_FILESプロシージャ
DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES
は、1つ以上のファイルを外部表キャッシュにロードします。ファイルは、SINCE
引数および現在のタイムスタンプによって決定される時間間隔に基づいてロードされます。 - ADD_TABLEプロシージャ
DBMS_EXT_TABLE_CACHE.ADD_TABLE
プロシージャは、表全体または外部表の特定の割合をキャッシュにロードします。 - CLEARプロシージャ
DBMS_EXT_TABLE_CACHE.CLEAR
プロシージャは、キャッシュの保持中に外部表キャッシュからすべてのファイルを削除します。 - CREATE_CACHEプロシージャ
DBMS_EXT_TABLE_CACHE.CREATE_CACHE
プロシージャは、Autonomous Databaseインスタンスに外部表キャッシュを作成します。 - DISABLEプロシージャ
DBMS_EXT_TABLE_CACHE.DISABLE
プロシージャは、指定された外部表キャッシュを無効にします。キャッシュには無効のフラグが付けられますが、キャッシュ内のデータは保持されます。 - DROP_BY_LIKEプロシージャ
DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE
プロシージャは、外部表キャッシュから1つ以上のファイルを削除します。ファイルは、指定されたフィルタに基づいて削除されます。 - DROP_CACHEプロシージャ
DBMS_EXT_TABLE_CACHE.DROP_CACHE
プロシージャは、指定された外部表キャッシュを削除します。このプロシージャは、キャッシュを削除し、キャッシュに関連付けられた記憶域を解放します。 - DROP_FILEプロシージャ
DBMS_EXT_TABLE_CACHE.DROP_FILE
プロシージャは、指定されたファイルを外部表キャッシュから削除します。 - ENABLEプロシージャ
DBMS_EXT_TABLE_CACHE.ENABLE
プロシージャは、以前に無効にした外部表キャッシュを有効にします。キャッシュが作成されると、キャッシュはデフォルトで有効になります。 - GET_USER_PROPERTYファンクション
このファンクションは、指定されたスキーマのキャッシュ・プリファレンスを返し、Number
を返します。 - RETIRE_FILESプロシージャ
DBMS_EXT_TABLE_CACHE.RETIRE_FILES
は、指定した間隔より古いファイルをキャッシュから削除します。ファイルは、BEFORE
パラメータ値を使用して計算された時間間隔に基づいて削除されます。 - SET_USER_PROPERTYプロシージャ
DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY
プロシージャは、スキーマのキャッシュ・プリファレンスを設定します。 - VALIDATEプロシージャ
DBMS_EXT_TABLE_CACHE.VALIDATE
プロシージャは、外部表キャッシュを検証します。参照される外部表がデータベースで見つからない場合は、エラーが報告されます。
親トピック: DBMS_EXT_TABLE_CACHEパッケージ
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);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
path_filters |
|
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);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
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);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
|
|
|
このパラメータはオプションで、指定しない場合のデフォルトは無制限です。 |
|
ファイルが変更されていなくても、指定した既存のファイルがキャッシュで上書きされます。 このパラメータはオプションであり、このパラメータのデフォルト値は |
例
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);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
|
キャッシュする表データの割合を指定します。たとえば、1から100です。 デフォルトでは、すべてのファイルがロードされます。 |
|
ファイルが変更されていなくても、指定したファイルがキャッシュで上書きされます。 このパラメータはオプションで、 |
例
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);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.CLEAR
(
owner => 'SALES',
table_name => 'STORE_SALES');
END;
/
CREATE_CACHEプロシージャ
DBMS_EXT_TABLE_CACHE.CREATE_CACHE
プロシージャは、Autonomous Databaseインスタンスに外部表キャッシュを作成します。
構文
DBMS_EXT_TABLE_CACHE.CREATE_CACHE
(
owner IN VARCHAR2,
table_name IN VARCHAR2,
partition_type IN VARCHAR2);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表の名前を指定します。 |
|
partition_type パラメータの有効な値は次のとおりです。
詳細は、外部表のメタデータ列を参照してください。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.CREATE_CACHE
(
owner => 'SALES',
table_name => 'STORE_SALES',
partition_type => 'FILE');
END;
/
使用上のノート
-
DBMS_EXT_TABLE_CACHE.CREATE_CACHE
は、Autonomous Databaseインスタンスに外部表キャッシュを作成します。キャッシュの作成は、データベース・スキーマでの表の作成に似ています。
DISABLEプロシージャ
DBMS_EXT_TABLE_CACHE.DISABLE
プロシージャは、指定された外部表キャッシュを無効にします。キャッシュには無効のフラグが付けられますが、キャッシュ内のデータは保持されます。
構文
DBMS_EXT_TABLE_CACHE.DISABLE
(
owner IN VARCHAR2,
table_name IN VARCHAR2
);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
例
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);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
path_filters |
|
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
);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
例
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);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
|
ファイル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
);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.ENABLE
(
owner => 'SALES',
table_name => 'STORE_SALES'
);
END;
/
GET_USER_PROPERTYファンクション
このファンクションは、指定されたスキーマのキャッシュ・プリファレンスを返し、Number
を返します。
構文
DBMS_EXT_TABLE_CACHE.GET_USER_PROPERTY
(
property_name IN VARCHAR2,
owner IN VARCHAR2 DEFAULT NULL);
RETURN NUMBER;
パラメータ
パラメータ | 説明 |
---|---|
|
プロパティ名を指定します。 property_name の有効な値は次のとおりです。
|
|
スキーマ名を指定します。 |
戻り値
戻り値 | 説明 |
---|---|
Numberの |
|
例
SET SERVEROUTPUT ON
DECLARE
max_cache_sz NUMBER,
BEGIN
max_cache_sz := DBMS_EXT_TABLE_CACHE.GET_USER_PROPERTY
(
property_name => 'MAX_CACHE_SIZE',
owner => '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
);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
|
|
例
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
プロシージャは、スキーマのキャッシュ・プリファレンスを設定します。
構文
DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY
(
property_name IN VARCHAR2,
property_value IN NUMBER,
owner IN VARCHAR2 DEFAULT NULL);
パラメータ
パラメータ | 説明 |
---|---|
|
プロパティ名を指定します。 property_name の有効な値は次のとおりです。
|
|
プロパティ値を指定します。 |
|
スキーマ名を指定します。 |
例
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);
パラメータ
パラメータ | 説明 |
---|---|
|
スキーマ名を指定します。 |
|
外部表名を指定します。 |
|
外部表キャッシュが無効とマークされた場合にレポートします。 |
例
BEGIN
DBMS_EXT_TABLE_CACHE.VALIDATE
(
owner => 'SALES',
table_name => 'STORE_SALES',
raise_errors => TRUE);
END;
/