DBMS_CLOUD: 一括ファイル管理

DBMS_CLOUDパッケージ内のバルク・ファイル操作用のサブプログラム。

サブプログラム 説明
BULK_COPYプロシージャ

このプロシージャは、あるクラウド・オブジェクト・ストレージ・バケットから別のクラウド・オブジェクト・ストレージ・バケットにファイルをコピーします。

BULK_DELETEプロシージャ

このプロシージャは、クラウド・オブジェクト・ストレージのバケットまたはフォルダからファイルを削除します。

BULK_DOWNLOADプロシージャ

このプロシージャは、クラウド・オブジェクト・ストア・バケットからAutonomous Databaseのディレクトリにファイルをダウンロードします。

BULK_MOVEプロシージャ

このプロシージャは、あるクラウド・オブジェクト・ストレージ・バケットから別のクラウド・オブジェクト・ストレージ・バケットにファイルを移動します。

BULK_UPLOADプロシージャ

このプロシージャは、Autonomous Databaseのディレクトリからクラウド・オブジェクト・ストレージにファイルをアップロードします。

前提条件

開発者は、Oracle Public CloudマルチクラウドまたはExadata Cloud@CustomerにデプロイされたAutonomous DatabaseでDBMS_CLOUDプロシージャを使用できます。

デプロイメントの選択肢に応じて、Amazon S3Azure Blob StorageおよびGoogle Cloud Storageサービス・プロバイダでDBMS_CLOUDプロシージャを使用するには、次の前提条件を満たす必要があります。

アウトバウンド接続は、次に説明するようにフリート管理者によってNATゲートウェイを使用して構成されている必要があります:
  • Oracle Cloud InfrastructureドキュメンテーションNAT Gatewayの作成の説明に従って、Autonomous Databaseリソースが存在するVirtual Cloud Network (VCN)でNATゲートウェイを作成します。
  • NATゲートウェイを作成したら、Autonomous Databaseリソースが存在する各サブネット(VCN内)にルート・ルールおよびエグレス・セキュリティ・ルールを追加して、これらのリソースがゲートウェイを使用してAzure ADインスタンスから公開キーを取得できるようにします:
    1. サブネットの「サブネットの詳細」ページに移動します。
    2. Subnet Information」タブで、サブネットの「Route Table」の名前をクリックして、その「Route Table Details」ページを表示します。
    3. 既存のルート・ルールの表で、次の特性を持つルールがすでに存在します:
      • 宛先: 0.0.0.0/0
      • ターゲット・タイプ: NAT Gateway
      • ターゲット: VCN内に作成したNATゲートウェイの名前

      このようなルールが存在しない場合は、「ルート・ルールの追加」をクリックし、これらの特性を持つルート・ルールを追加します。

    4. サブネットの「サブネットの詳細」ページに戻ります。
    5. サブネットの「セキュリティ・リスト」表で、サブネットのセキュリティ・リストの名前をクリックして、その「セキュリティ・リストの詳細」ページを表示します。
    6. サイド・メニューの「リソース」で、「エグレス・ルール」をクリックします。
    7. 既存のエグレス・ルールの表で、次の特性を持つルールがすでに存在します:
      • 宛先タイプ: CIDR
      • 宛先: 0.0.0.0/0
      • IPプロトコル: TCP
      • ソース・ポート範囲: 443
      • 宛先ポート範囲: すべて

      そのようなルールが存在しない場合は、「エグレス・ルールの追加」をクリックし、これらの特性を持つエグレス・ルールを追加します。

環境のHTTPプロキシ設定では、データベースがクラウド・サービス・プロバイダにアクセスできるようにする必要があります。

これらの設定は、Exadata Cloud@Customerインフラストラクチャの作成時にフリート管理者が定義します(コンソールを使用したExadata Database Service on Cloud@Customerのプロビジョニングを参照)。

ノート:

HTTPプロキシを含むネットワーク構成は、Exadataインフラストラクチャが「アクティブ化が必要」状態になるまで編集できます。いったんアクティブ化すると、それらの設定は編集できません。

すでにプロビジョニングされているExadataインフラストラクチャのHTTPプロキシを設定するには、My Oracle Supportでサービス・リクエスト(SR)が必要です。詳細は、My Oracle Supportでのサービス・リクエストの作成を参照してください。

BULK_COPYプロシージャ

このプロシージャは、あるクラウド・オブジェクト・ストレージ・バケットから別のクラウド・オブジェクト・ストレージ・バケットにファイルを一括コピーします。オーバーロード・フォームでは、operation_idパラメータを使用できます。

削除するファイルのリストをフィルタするには、REGEXP_LIKE演算子と互換性のある正規表現パターンを使用します。

ソース・バケットまたはターゲット・フォルダは、同じクラウド・オブジェクト・ストア・プロバイダまたは異なるクラウド・オブジェクト・ストア・プロバイダに配置できます。

ソースとターゲットが個別のオブジェクト・ストアにある場合、または同じクラウド・プロバイダを持つ異なるアカウントがある場合、ソースとターゲットの場所に個別の資格証明名を指定できます。

デフォルトでは、ソース資格証明名はターゲットの場所でも使用されます。

構文

DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);

DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

Parameters

パラメータ 説明

source_credential_name

クラウド・オブジェクト・ストレージにアクセスするための資格証明の名前。

source_credential_name値を指定しない場合、credential_nameNULLに設定されます。

source_location_uri

ソース・オブジェクト・ストレージ・バケットまたはフォルダの場所を指すURIを指定します。

このパラメータは必須です。

クラウドのソース・ファイルURI

クラウド・ソース・ファイルURIのファイル名には、ワイルドカードと正規表現を使用できます。

正規表現を使用できるのは、regexuri formatパラメータがTRUEに設定されている場合のみです。

regexuriパラメータがFALSEに設定されている場合、文字「*」および「?」はワイルドカード文字とみなされます。regexuriパラメータがTRUEに設定されている場合、文字「*」および「?」は指定された正規表現パターンの一部です。

正規表現パターンはURI内のファイル名またはサブフォルダ・パスでのみサポートされ、パターン一致はREGEXP_LIKE関数によって実行されるものと同じです。

正規表現を使用する例:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

ワイルドカードの使用例:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv

URIのフォーマットは、使用中のクラウド・オブジェクト・ストレージ・サービスによって異なります。詳細は、「クラウド・オブジェクト・ストレージURIフォーマット」を参照。

REGEXP_LIKE条件の詳細は、Oracle Database 19c SQL言語リファレンスREGEXP_LIKE条件またはOracle Database 23ai SQL言語リファレンスを参照してください。

target_location_uri

ファイルをコピーする必要があるターゲット・オブジェクト・ストレージ・バケットまたはフォルダのURIを指定します。

このパラメータは必須です。

ソース・オブジェクト・ストレージ・バケットまたはフォルダの場所を指すURIを指定します。

このパラメータは必須です。

URIのフォーマットは、クラウド・オブジェクト・ストレージ・サービスによって異なります。詳細は、DBMS_CLOUDパッケージ・ファイル・クラウドのオブジェクト・ストレージのURI形式を参照してください。

target_credential_name

ターゲットのCloud Object Storageの場所にアクセスするための資格証明の名前。

target_credential_name値を指定しない場合、target_location_urisource_credential_name値に設定されます。

regex_filter

ファイルをフィルタするREGEX式を指定します。REGEX式パターンは、REGEXP_LIKE演算子と互換性がある必要があります。

regex_filter値を指定しない場合、regex_filterNULLに設定されます。

詳細は、REGEXP_LIKE条件を参照してください。

format

ファイル操作の追加構成オプションを指定します。これらのオプションはJSON文字列として指定されます。

サポートされている形式オプションは次のとおりです。
  • logretention: バルク操作のためにステータス表が保持される期間(日数)を決定する整数値を受け入れます。

    デフォルト値は2日です。

  • logprefix: バルク操作ステータス表名の接頭辞文字列を決定する文字列値を受け入れます。

    操作タイプがデフォルト値です。BULK_COPYの場合、デフォルトのlogprefix値はCOPYOBJです。

  • priority: 同時に実行されるファイル操作の数を決定する文字列値を受け入れます。

    優先度が高い操作は、より多くのデータベース・リソースを消費するため、より高速に実行する必要があります。

    次のいずれかの値を受け入れます。

    • HIGH: データベースのECPU数(データベースがOCPUを使用している場合はOCPU数)を使用して処理されるパラレル・ファイルの数を決定します。

    • MEDIUM: 中規模サービスの同時実行性制限を使用して、同時プロセスの数を決定します。デフォルトは4です。

    • LOW: ファイルを順番に処理します。

    デフォルト値はMEDIUMです。

    同時ファイル操作の最大数は64に制限されています。

format値を指定しない場合、formatNULLに設定されます。

operation_id

このパラメータを使用して、USER_LOAD_OPERATIONSビューで、ロード操作の進行状況および最終ステータスを対応するIDとして追跡します。

使用上のノート

  • ソースとターゲットのURIが同じオブジェクト・ストレージ・バケットまたはフォルダを指している場合、エラーが返されます。

BEGIN 
DBMS_CLOUD.BULK_COPY (
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format       => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/

BULK_DELETEプロシージャ

このプロシージャは、クラウド・オブジェクト・ストレージからファイルを一括削除します。オーバーロード・フォームでは、operation_idパラメータを使用できます。削除するファイルのリストをフィルタするには、REGEXP_LIKE演算子と互換性のある正規表現パターンを使用します。

構文

 DBMS_CLOUD.BULK_DELETE(
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);

DBMS_CLOUD.BULK_DELETE (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Parameters

パラメータ 説明

credential_name

クラウド・オブジェクト・ストレージにアクセスするための資格証明の名前。

credential_name値を指定しない場合、credential_nameNULLに設定されます。

location_uri

Autonomous Databaseのオブジェクト・ストレージの場所を指すURIを指定します。

このパラメータは必須です。

クラウドのソース・ファイルURI

クラウド・ソース・ファイルURIのファイル名には、ワイルドカードと正規表現を使用できます。

正規表現を使用できるのは、regexuri formatパラメータがTRUEに設定されている場合のみです。

regexuriパラメータがFALSEに設定されている場合、文字「*」および「?」はワイルドカード文字とみなされます。regexuriパラメータがTRUEに設定されている場合、文字「*」および「?」は指定された正規表現パターンの一部です。

正規表現パターンはURI内のファイル名またはサブフォルダ・パスでのみサポートされ、パターン一致はREGEXP_LIKE関数によって実行されるものと同じです。

たとえば:

location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

URIのフォーマットは、使用中のクラウド・オブジェクト・ストレージ・サービスによって異なります。詳細は、「クラウド・オブジェクト・ストレージURIフォーマット」を参照。

REGEXP_LIKE条件の詳細は、Oracle Database 19c SQL言語リファレンスREGEXP_LIKE条件またはOracle Database 23ai SQL言語リファレンスを参照してください。

URIのフォーマットは、クラウド・オブジェクト・ストレージ・サービスによって異なります。詳細は、DBMS_CLOUDパッケージ・ファイル・クラウドのオブジェクト・ストレージのURI形式を参照してください。

regex_filter

ファイルをフィルタするREGEX式を指定します。REGEX式パターンは、REGEXP_LIKE演算子と互換性がある必要があります。

regex_filter値を指定しない場合、regex_filterNULLに設定されます。

詳細は、REGEXP_LIKE条件を参照してください。

format

ファイル操作の追加構成オプションを指定します。これらのオプションはJSON文字列として指定されます。

サポートされている形式オプションは次のとおりです。
  • logretention: 一括操作でステータス表が保持される期間(日数)を決定する整数値を受け入れます。

    デフォルト値は2日です。

  • logprefix: バルク操作ステータス表名の接頭辞文字列を決定する文字列値を受け入れます。

    操作タイプがデフォルト値です。BULK_DELETEの場合、デフォルトのlogprefix値はDELETEです。

  • priority: 同時に実行されるファイル操作の数を決定する文字列値を受け入れます。

    優先度が高い操作は、より多くのデータベース・リソースを消費し、より早く完了します。

    次のいずれかの値を受け入れます。

    • HIGH: データベースのECPU数(データベースがOCPUを使用している場合はOCPU数)を使用して処理されるパラレル・ファイルの数を決定します。

    • MEDIUM: 中規模サービスの同時実行性制限を使用して、同時プロセスの数を決定します。デフォルトは4です。

    • LOW: ファイルを順番に処理します。

    デフォルト値はMEDIUMです。

    同時ファイル操作の最大数は64に制限されています。

format値を指定しない場合、formatNULLに設定されます。

operation_id

このパラメータを使用して、USER_LOAD_OPERATIONSビューで、ロード操作の進行状況および最終ステータスを対応するIDとして追跡します。

BEGIN
DBMS_CLOUD.BULK_DELETE (    
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKDEL')
);
END;
/

BULK_DOWNLOADプロシージャ

このプロシージャは、クラウド・オブジェクト・ストレージからAutonomous Databaseディレクトリにファイルをダウンロードします。オーバーロード・フォームでは、operation_idパラメータを使用できます。REGEXP_LIKE演算子と互換性のある正規表現パターンを使用して、ダウンロードするファイルのリストをフィルタできます。

構文

DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);

DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Parameters

パラメータ 説明

credential_name

クラウド・オブジェクト・ストレージにアクセスするための資格証明の名前。

credential_name値を指定しない場合、credential_nameNULLに設定されます。

location_uri

Autonomous Databaseのオブジェクト・ストレージの場所を指すURIを指定します。

このパラメータは必須です。

クラウドのソース・ファイルURI

クラウド・ソース・ファイルURIのファイル名には、ワイルドカードと正規表現を使用できます。

正規表現を使用できるのは、regexuri formatパラメータがTRUEに設定されている場合のみです。

regexuriパラメータがFALSEに設定されている場合、文字「*」および「?」はワイルドカード文字とみなされます。regexuriパラメータがTRUEに設定されている場合、文字「*」および「?」は指定された正規表現パターンの一部です。

正規表現パターンはURI内のファイル名またはサブフォルダ・パスでのみサポートされ、パターン一致はREGEXP_LIKE関数によって実行されるものと同じです。

たとえば:

location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

URIのフォーマットは、使用中のクラウド・オブジェクト・ストレージ・サービスによって異なります。詳細は、「クラウド・オブジェクト・ストレージURIフォーマット」を参照。

REGEXP_LIKE条件の詳細は、Oracle Database 19c SQL言語リファレンスREGEXP_LIKE条件またはOracle Database 23ai SQL言語リファレンスを参照してください。

directory_name

ファイルのダウンロード元となるAutonomous Database上のディレクトリの名前。

このパラメータは必須です。

regex_filter

ファイルをフィルタするREGEX式を指定します。REGEX式パターンは、REGEXP_LIKE演算子と互換性がある必要があります。

regex_filter値を指定しない場合、regex_filterNULLに設定されます。

詳細は、REGEXP_LIKE条件を参照してください。

format

ファイル操作の追加構成オプションを指定します。これらのオプションはJSON文字列として指定されます。

サポートされている形式オプションは次のとおりです。
  • logretention: バルク操作のためにステータス表が保持される期間(日数)を決定する整数値を受け入れます。

    デフォルト値は2日です。

  • logprefix: バルク操作ステータス表名の接頭辞文字列を決定する文字列値を受け入れます。BULK_DOWNLOADの場合、デフォルトのlogprefix値はDOWNLOADです。

    操作タイプがデフォルト値です。

  • priority: 同時に実行されるファイル操作の数を決定する文字列値を受け入れます。

    優先度が高い操作は、より多くのデータベース・リソースを消費し、より早く完了します。

    次のいずれかの値を受け入れます。

    • HIGH: データベースのECPU数(データベースがOCPUを使用している場合はOCPU数)を使用して処理されるパラレル・ファイルの数を決定します。

    • MEDIUM: 中規模サービスの同時実行性制限を使用して、同時プロセスの数を決定します。デフォルトは4です。

    • LOW: ファイルを順番に処理します。

    デフォルト値はMEDIUMです。

    同時ファイル操作の最大数は64に制限されています。

format値を指定しない場合、formatNULLに設定されます。

operation_id

このパラメータを使用して、USER_LOAD_OPERATIONSビューで、ロード操作の進行状況および最終ステータスを対応するIDとして追跡します。

BEGIN
DBMS_CLOUD.BULK_DOWNLOAD (    
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
 );
END;
/

BULK_MOVEプロシージャ

このプロシージャは、クラウド・オブジェクト・ストレージのバケットまたはフォルダ間でファイルを一括移動します。オーバーロード・フォームでは、operation_idパラメータを使用できます。

削除するファイルのリストをフィルタするには、REGEXP_LIKE演算子と互換性のある正規表現パターンを使用します。

ソース・バケットまたはターゲット・フォルダは、同じクラウド・オブジェクト・ストア・プロバイダまたは異なるクラウド・オブジェクト・ストア・プロバイダに配置できます。

ソースとターゲットが個別のオブジェクト・ストアにある場合、または同じクラウド・プロバイダを持つ異なるアカウントがある場合、ソースとターゲットの場所に個別の資格証明名を指定できます。

ターゲット資格証明名が指定されていない場合、ソース資格証明名はターゲットの場所でもデフォルトで使用されます。

ファイルを移動する最初のステップは、ファイルをターゲットの場所にコピーしてから、正常にコピーされたソース・ファイルを削除することです。

オブジェクト・ストアでソースとターゲットの場所間の名前変更操作が許可されている場合、オブジェクトの名前は移動されずに変更されます。

構文

DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);

DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

Parameters

パラメータ 説明

source_credential_name

ソースのCloud Object Storageにアクセスするための資格証明の名前。

source_credential_name値を指定しない場合、credential_nameNULLに設定されます。

source_location_uri

ソース・オブジェクト・ストレージ・バケットまたはフォルダの場所を指すURIを指定します。

このパラメータは必須です。

クラウドのソース・ファイルURI

クラウド・ソース・ファイルURIのファイル名には、ワイルドカードと正規表現を使用できます。

正規表現を使用できるのは、regexuri formatパラメータがTRUEに設定されている場合のみです。

regexuriパラメータがFALSEに設定されている場合、文字「*」および「?」はワイルドカード文字とみなされます。regexuriパラメータがTRUEに設定されている場合、文字「*」および「?」は指定された正規表現パターンの一部です。

正規表現パターンはURI内のファイル名またはサブフォルダ・パスでのみサポートされ、パターン一致はREGEXP_LIKE関数によって実行されるものと同じです。

正規表現を使用する例:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

ワイルドカードの使用例:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv

URIのフォーマットは、使用中のクラウド・オブジェクト・ストレージ・サービスによって異なります。詳細は、「クラウド・オブジェクト・ストレージURIフォーマット」を参照。

REGEXP_LIKE条件の詳細は、Oracle Database 19c SQL言語リファレンスREGEXP_LIKE条件またはOracle Database 23ai SQL言語リファレンスを参照してください。

target_location_uri

ファイルの移動が必要なターゲット・オブジェクト・ストレージ・バケットまたはフォルダのURIを指定します。

このパラメータは必須です。

URIのフォーマットは、使用中のクラウド・オブジェクト・ストレージ・サービスによって異なります。詳細は、「クラウド・オブジェクト・ストレージURIフォーマット」を参照。

target_credential_name

ターゲットのCloud Object Storageの場所にアクセスするための資格証明の名前。

target_credential_name値を指定しない場合、target_location_urisource_credential_name値に設定されます。

regex_filter

ファイルをフィルタするREGEX式を指定します。REGEX式パターンは、REGEXP_LIKE演算子と互換性がある必要があります。

regex_filter値を指定しない場合、regex_filterNULLに設定されます。

詳細は、REGEXP_LIKE条件を参照してください。

format

ファイル操作の追加構成オプションを指定します。これらのオプションはJSON文字列として指定されます。

サポートされている形式オプションは次のとおりです。
  • logretention: バルク操作のためにステータス表が保持される期間(日数)を決定する整数値を受け入れます。

    デフォルト値は2日です。

  • logprefix: バルク操作ステータス表名の接頭辞文字列を決定する文字列値を受け入れます。

    操作タイプがデフォルト値です。BULK_MOVEの場合、デフォルトのlogprefix値はMOVEです。

  • priority: 同時に実行されるファイル操作の数を決定する文字列値を受け入れます。

    優先度が高い操作は、より多くのデータベース・リソースを消費し、より早く完了します。

    次のいずれかの値を受け入れます。

    • HIGH: データベースのECPU数(データベースがOCPUを使用している場合はOCPU数)を使用して処理されるパラレル・ファイルの数を決定します。

    • MEDIUM: 中規模サービスの同時実行性制限を使用して、同時プロセスの数を決定します。デフォルトは4です。

    • LOW: ファイルを順番に処理します。

    デフォルト値はMEDIUMです。

    同時ファイル操作の最大数は64に制限されています。

format値を指定しない場合、formatNULLに設定されます。

operation_id

このパラメータを使用して、USER_LOAD_OPERATIONSビューで、ロード操作の進行状況および最終ステータスを対応するIDとして追跡します。

BEGIN 
DBMS_CLOUD.BULK_MOVE (    
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format                 => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKMOVE')
);
END;
/

ノート:

ソースとターゲットのURIが同じオブジェクト・ストレージ・バケットまたはフォルダを指している場合、エラーが返されます。

BULK_UPLOADプロシージャ

このプロシージャは、Autonomous Databaseディレクトリからクラウド・オブジェクト・ストレージにファイルをコピーします。オーバーロード・フォームでは、operation_idパラメータを使用できます。

構文

DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);

DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Parameters

パラメータ 説明

credential_name

クラウド・オブジェクト・ストレージにアクセスするための資格証明の名前。

credential_name値を指定しない場合、credential_nameNULLに設定されます。

location_uri

ファイルをアップロードするオブジェクト・ストレージの場所を指すURIを指定します。

このパラメータは必須です。

URIのフォーマットは、クラウド・オブジェクト・ストレージ・サービスによって異なります。詳細は、DBMS_CLOUDパッケージ・ファイル・クラウドのオブジェクト・ストレージのURI形式を参照してください。

directory_name

ファイルをアップロードするAutonomous Database上のディレクトリの名前。

このパラメータは必須です。

ディレクトリ

1つのディレクトリと1つ以上のファイル名を指定することも、ディレクトリとファイル名のカンマ区切りリストを使用することもできます。ディレクトリを指定する形式は、'MY_DIR:filename.ext'です。デフォルトでは、ディレクトリ名MY_DIRはデータベース・オブジェクトであり、大/小文字は区別されません。ファイル名は、大/小文字が区別されます。

ディレクトリでファイル名を指定する場合、正規表現はサポートされていません。ワイルドカードを使用して、ディレクトリ内のファイル名を指定できます。文字「*」は、複数の文字に対応するワイルドカードとして使用でき、文字「?」は1文字のワイルドカードとして使用することができます。例:'MY_DIR:*"または'MY_DIR:test?'

複数のディレクトリを指定するには、ディレクトリのカンマ区切りリストを使用します。例:'MY_DIR1:*, MY_DIR2:test?'

大/小文字を区別するディレクトリ名を指定するには、二重引用符を使用します。例:'"my_dir1":*, "my_dir2":Test?'

引用符文字を含めるには、2つの引用符を使用します。例:'MY_DIR:''filename.ext'。これは、filenameが引用符(')で始まることを示します。

regex_filter

ファイルをフィルタするREGEX式を指定します。REGEX式パターンは、REGEXP_LIKE演算子と互換性がある必要があります。

regex_filter値を指定しない場合、regex_filterNULLに設定されます。

詳細は、REGEXP_LIKE条件を参照してください。

format

ファイル操作の追加構成オプションを指定します。これらのオプションはJSON文字列として指定されます。

サポートされている形式オプションは次のとおりです。
  • logretention: バルク操作のためにステータス表が保持される期間(日数)を決定する整数値を受け入れます。

    デフォルト値は2日です。

  • logprefix: バルク操作ステータス表名の接頭辞文字列を決定する文字列値を受け入れます。

    操作タイプがデフォルト値です。BULK_UPLOADの場合、デフォルトのlogprefix値はUPLOADです。

  • priority: 同時に実行されるファイル操作の数を決定する文字列値を受け入れます。

    優先度が高い操作は、より多くのデータベース・リソースを消費し、より早く完了します。

    次のいずれかの値を受け入れます。

    • HIGH: データベースのECPU数(データベースがOCPUを使用している場合はOCPU数)を使用して処理されるパラレル・ファイルの数を決定します。

    • MEDIUM: 中規模サービスの同時実行性制限を使用して、同時プロセスの数を決定します。デフォルトは4です。

    • LOW: ファイルを順番に処理します。

    デフォルト値はMEDIUMです。

    同時ファイル操作の最大数は64に制限されています。

format値を指定しない場合、formatNULLに設定されます。

operation_id

このパラメータを使用して、USER_LOAD_OPERATIONSビューで、ロード操作の進行状況および最終ステータスを対応するIDとして追跡します。

BEGIN
DBMS_CLOUD.BULK_UPLOAD ( 
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKUPLOAD')
 );
END;
/