ディレクトリへのOracle Data Pumpファイルとしてのデータのエクスポート

問合せを指定して、Oracle Data Pumpダンプ・ファイルとしてディレクトリにデータをエクスポートできます。

このエクスポート方法では、DBMS_CLOUD.EXPORT_DATAプロシージャを使用して、ダンプ・ファイルとしてディレクトリにエクスポートするデータを選択する問合せを指定します。

  1. Autonomous Databaseインスタンスに接続します。
  2. ディレクトリの作成

    たとえば、次のとおりです。

    CREATE DIRECTORY export_dir AS 'export_dir';
    詳細は、Autonomous Databaseでのディレクトリの作成を参照してください。
  3. DBMS_CLOUD.EXPORT_DATAを使用して、Autonomous DatabaseからOracle Data Pumpダンプ・ファイルとしてディレクトリにデータをエクスポートし、formatパラメータのtypedatapumpとして指定します。例:
    BEGIN
     DBMS_CLOUD.EXPORT_DATA(
        file_uri_list => 'export_dir:sales.dmp',
        format => json_object('type' value 'datapump'),
        query => 'SELECT * FROM sales'
     );
    END;
    /
    

    データを複数のData Pumpファイルとしてディレクトリにエクスポートする例:

    BEGIN
     DBMS_CLOUD.EXPORT_DATA(
        file_uri_list => 'export_dir:sales1.dmp, export_dir:sales2.dmp',
        format => json_object('type' value 'datapump'),
        query => 'SELECT * FROM sales'
     );
    END;
    /
    

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

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

    • format: 必要なtypeパラメータを指定します。有効な値はdatapumpjsonxmlcsvおよびparquetで、ORACLE_DATAPUMPアクセス・ドライバを使用してエクスポートに指定できるオプションもオプションで定義します。

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

    ノート

    DBMS_CLOUD.EXPORT_DATAプロシージャは、file_uri_listで指定されたダンプ・ファイルを作成します。

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

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

  • 指定されたディレクトリが存在している必要があり、ADMINユーザーとしてログインしているか、ディレクトリへのWRITEアクセス権を持っている必要があります。

  • ファイルは上書きしません。file_uri_listのダンプ・ファイルが存在する場合、DBMS_CLOUD.EXPORT_DATAは、次のようなエラーを報告します。

    ORA-31641: unable to create dump file  "/u02/exports/123.dmp"
    ORA-27038: created file already exists
  • DBMS_CLOUD.EXPORT_DATAはディレクトリを作成しません。

  • ディレクトリ名は、二重引用符で囲むと大文字と小文字が区別されます。

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

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

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

  • 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アクセス・ドライバを使用したデータのアンロードおよびロードを参照してください。