Oracle Data PumpでのCREDENTIALパラメータを使用したオブジェクト・ストアへのデータのエクスポート(バージョン19.9以上)

Oracle Data Pumpを使用してデータベースからオブジェクト・ストレージにデータをエクスポートするステップを示します。

Autonomous Databaseから他のOracleデータベースにデータをエクスポートする場合は、最新のOracle Data Pumpバージョンを使用することをお薦めします。これには操作性向上のための拡張機能と修正が含まれています。「Oracle Instant Clientのダウンロード」から、使用しているプラットフォーム用の最新バージョンのOracle Instant Clientおよびツール・パッケージ(Oracle Data Pumpが含まれる)をダウンロードします。Oracle Instant Clientおよびツール・パッケージをダウンロードした後に必要なインストール・ステップについては、プラットフォーム・インストールのダウンロード・ページでインストールの手順を参照してください。

Note

Database Actions provides a link for Oracle Instant Client.データベース・アクションからこのリンクにアクセスするには、「ダウンロード」で、「Oracle Instant Clientのダウンロード」をクリックします。

Oracle Data Pumpバージョン19.9以降を使用している場合は、次のステップに示すように、credentialパラメータを使用できます。Oracle Data Pumpバージョン19.8以前を使用する手順は、DEFAULT_CREDENTIALプロパティの設定によるOracle Data Pumpを使用したオブジェクト・ストアへのデータのエクスポートを参照してください。

  1. データベースに接続します。
  2. DBMS_CLOUD.CREATE_CREDENTIALを使用してCloud Object Storage資格証明を格納します。例:
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'user1@example.com',
        password => 'password'
      );
    END;
    /

    usernameおよびpasswordに指定する値は、使用しているクラウド・オブジェクト・ストレージ・サービスによって異なります

    Oracle Cloud Infrastructure Object Storageにエクスポートする場合、Oracle Cloud InfrastructureネイティブURIまたはSwift URIを使用できますが、資格証明は認証トークンである必要があります。詳細は、CREATE_CREDENTIALプロシージャを参照してください。

  3. dumpfileパラメータをクラウド・オブジェクト・ストレージの既存のバケットのURLに設定し、末尾にファイル名または置換変数(exp%U.dmpなど)付きのファイル名、およびcredentialパラメータを前のステップで作成した資格証明の名前に設定して、Data Pump Exportを実行します。例:
    expdp admin/password@db2022adb_high \
         filesize=5GB \
         credential=def_cred_name \
         dumpfile=https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/exp%U.dmp \
         parallel=16 \
         encryption_pwd_prompt=yes \
         logfile=export.log \
         directory=data_pump_dir
    
    ノート

    • expdpによるエクスポートでencryption_pwd_prompt=yesパラメータを使用した場合は、encryption_pwd_prompt=yesを使用して、エクスポート時に指定したimpdpプロンプトで同じパスワードを入力します。
    • バケットとデータが商用(OC1)レルム(OCI専用エンドポイントがサポートされていない)に存在しない場合は、dumpfileに次のURI形式を使用します:
      https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname/o/filename
    dumpfileの場合、この例では、商用レルム(OC1)のOCI専用エンドポイントを使用して推奨されるURI形式を使用します。namespace-stringは、Oracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージ専用エンドポイントリージョンおよび可用性ドメインおよびオブジェクト・ストレージ・ネームスペースの理解を参照してください。

    credentialパラメータは、OCIリソース・プリンシパル、Azureサービス・プリンシパル、Amazonリソース名(ARN)またはGoogleサービス・アカウントにはできません。リソース・プリンシパル・ベースの認証の詳細は、ポリシーおよびロールの構成によるクラウド・リソースへのアクセスを参照してください。

    最適なエクスポート・パフォーマンスを得るには、エクスポート接続にHIGHデータベース・サービスを使用し、parallelパラメータをECPU数(.25 x ECPU数)の4分の1に設定します。OCPUコンピュート・モデルを使用している場合は、パラレル・パラメータをOCPUの数(1 x OCPU数)に設定します。

    Data Pump Exportを実行するために接続するデータベース・サービス名の詳細は、Autonomous Data Warehouseのデータベース・サービス名を参照してください。

    様々なクラウド・オブジェクト・ストレージ・サービスのダンプ・ファイルのURL形式については、DBMS_CLOUDのURI形式を参照してください。

    この例では、Autonomous Databaseからエクスポートするための推奨パラメータを示します。これらのexpdpパラメータについては、次に注意してください:

    • Oracle Cloud Infrastructure Object Storageエクスポートの場合、filesizeパラメータの最大値は10000MBです。

    • Oracle Cloud Infrastructure Object Storage Classicエクスポートの場合、最大filesizeパラメータ値は20GBです。

    • 指定したfilesizeが大きすぎる場合、エクスポートでは次のエラー・メッセージが表示されます:

      ORA-17500: ODM err:ODM HTTP Request Entity Too Large
    • directoryパラメータは、指定したログ・ファイルexport.logのディレクトリdata_pump_dirを指定します。詳細は、Data Pump Exportのログ・ファイルへのアクセスを参照してください。

    ノート

    Oracle Data Pumpでは、各ダンプ・ファイルの部分を小さなチャンクに分割してアップロードを高速化します。Oracle Cloud Infrastructure Object Storageコンソールには、エクスポートするダンプ・ファイル・パートごとに複数のファイルが表示されます。実際のダンプファイルのサイズはゼロ(0)、関連するファイル・チャンクは10mb以下と表示されます。例:
    exp01.dmp
    exp01.dmp_aaaaaa
    exp02.dmp
    exp02.dmp_aaaaaa
    Oracle Cloud InfrastructureコンソールまたはOracle Cloud Infrastructure CLIを使用してゼロ・バイト・ダンプ・ファイルをダウンロードしても、完全なダンプ・ファイルは得られません。オブジェクト・ストアから完全なダンプ・ファイルをダウンロードするには、curlなどのSwiftをサポートするツールを使用して、ユーザー・ログインおよびSwift認証トークンを指定します。
    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmp

    If you import a file with the DBMS_CLOUD procedures that support the format parameter type with the value 'datapump', you only need to provide the primary file name.'datapump'形式タイプをサポートするプロシージャでは、チャンクが自動的に検出およびダウンロードされます。

    DBMS_CLOUD.DELETE_OBJECTを使用すると、プライマリ・ファイルが削除されたときにチャンクが自動的に検出および削除されます。

  4. Oracle Data Pumpインポートおよびクリーン・アップの使用に必要なステップを実行します。
ノート

完全エクスポートを実行する場合や、他のユーザーが所有するオブジェクトをエクスポートする場合は、DATAPUMP_CLOUD_EXPロールが必要です。

Oracle Data Pump Exportパラメータの詳細は、『Oracle Databaseユーティリティ』を参照してください。