EXPORT_DATAを使用したOracle Data Pumpファイルとしてのオブジェクト・ストアへのデータの移動

問合せを指定して、データをOracle Data Pumpダンプ・にエクスポートできます。

このエクスポート方法では、DBMS_CLOUD.EXPORT_DATAプロシージャを使用して、次のように、エクスポートするデータを選択する問合せを指定します:

  1. データベースに接続します。
  2. プロシージャDBMS_CLOUD.CREATE_CREDENTIALを使用してオブジェクト・ストアの資格証明を保存します。

    次に例を示します。

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /
    

    リソース・プリンシパル資格証明を有効にする場合、Oracle Cloud Infrastructure Object Storeにアクセスするための資格証明を作成する必要はありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。

    この操作では、資格証明が暗号化された形式でデータベースに格納されます。資格証明名には任意の名前を使用できます。このステップは、オブジェクト・ストアの資格証明を変更しないかぎり1回のみ必要です。資格証明を保存したら、同じ資格証明名を使用できます。

    様々なオブジェクト・ストレージ・サービスのusernameおよびpasswordパラメータの詳細は、CREATE_CREDENTIALプロシージャを参照してください。

  3. formatパラメータのtypeを値datapumpに設定してDBMS_CLOUD.EXPORT_DATAをコールし、Autonomous Databaseからクラウド・オブジェクト・ストアにOracle Data Pumpダンプ・ファイルとしてデータをエクスポートします。例:
    BEGIN
     DBMS_CLOUD.EXPORT_DATA(
        credential_name =>'DEF_CRED_NAME',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp01.dmp',
        format => json_object('type' value 'datapump'),
        query => 'SELECT warehouse_id, quantity FROM inventories'
     );
    END;
    /
    

    パラメータは次のとおりです:

    • credential_name: 前のステップで作成された資格証明の名前です。

    • file_uri_list: エクスポート・ファイルのカンマ区切りリストです。file_uri_listでは、ワイルドカードおよび置換文字の使用はサポートされていません。

    • format: 値datapumpを使用して必須のtypeパラメータを指定し、オプションでORACLE_DATAPUMPアクセス・ドライバを使用してエクスポートに指定できるオプションを定義します。

    • query: 必要なデータのみがエクスポートされるようにSELECT文を指定します。問合せによってダンプ・ファイルの内容が決定されます。

    この例では、namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。

    ノート

    DBMS_CLOUD.EXPORT_DATAプロシージャは、file_uri_listで指定されたダンプ・ファイルを作成します。ファイルは上書きしません。file_uri_listのダンプ・ファイルが存在する場合、DBMS_CLOUD.EXPORT_DATAはエラーを報告します。DBMS_CLOUD.EXPORT_DATAはバケットを作成しません。

    パラメータの詳細は、EXPORT_DATAプロシージャを参照してください。

  4. Oracle Data Pumpインポートおよびクリーン・アップの使用に必要なステップを実行します。詳細は、ダンプ・ファイルのダウンロード、Data Pump Importの実行、およびオブジェクト・ストアのクリーン・アップを参照してください。

DBMS_CLOUD.EXPORT_DATAを使用したデータのエクスポートに関するノート:

  • DBMS_CLOUD.EXPORT_DATAを使用して作成したダンプ・ファイルは、Oracle Data Pump impdpを使用してインポートすることはできません。データベースに応じて、次のようにこれらのファイルを使用できます:

    • Autonomous Databaseでは、値datapumpを持つformatパラメータtypeをサポートするDBMS_CLOUDプロシージャでダンプ・ファイルを使用できます。DBMS_CLOUD.COPY_DATAを使用してダンプ・ファイルをインポートするか、DBMS_CLOUD.CREATE_EXTERNAL_TABLEをコールして外部表を作成できます。

    • Oracle Database 19cオンプレミスなどの他のOracle Databaseでは、ORACLE_DATAPUMPアクセス・ドライバを使用して、プロシージャDBMS_CLOUD.EXPORT_DATAで作成されたダンプ・ファイルをインポートできます。詳細は、ORACLE_DATAPUMPアクセス・ドライバを使用したデータのアンロードおよびロードを参照してください。

  • プロシージャの実行時に、DBMS_CLOUD.EXPORT_DATAによって生成されるダンプ・ファイルの数が決まります。生成されるダンプ・ファイルの数は、file_uri_listパラメータで指定するファイル名の数、およびインスタンスで使用可能なECPUの数、サービス・レベル、データのサイズによって異なります。

    たとえば、2つのECPU Autonomous Databaseインスタンスまたはlowサービスを使用すると、複数のファイル名を指定した場合でも、単一のダンプ・ファイルが並列度なしでエクスポートされます。8 ECPUのAutonomous Databaseインスタンスをmediumまたはhighサービスで使用する場合、複数のファイル名を指定すると、ジョブをパラレルに実行でき、複数のダンプ・ファイルがエクスポートされます。

  • 指定するqueryパラメータ値は、必要に応じて、結合や副問合せを含む問合せなどの拡張問合せにすることができます。