Oracle Data PumpでのCREDENTIALパラメータを使用したオブジェクト・ストアへのデータのエクスポート

credentialパラメータを使用してOracle Data Pump Exportを使用してAutonomous AI DatabaseからCloud Object Storageにデータをエクスポートするステップを示します。

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

ノート

注意:

  • Oracle Autonomous AI Database Serverlessは、Oracle AI Database 19cではなく、Oracle AI Database 26aiでのみ、Data Pumpエクスポートのリソース・プリンシパル資格証明およびOCIネイティブ認証をサポートします。

  • データベース・アクションには、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を使用してクラウド・オブジェクト・ストレージ資格証明を格納してください。次に例を示します。

    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 AI Database 26aiでは、リソース・プリンシパルの資格証明など、OCIネイティブ認証でOracle Cloud InfrastructureネイティブURIを使用できます。

    • Oracle AI Database 19cでは、Oracle Cloud InfrastructureのネイティブURIまたはSwift URIを使用できますが、資格証明は認証トークンである必要があります。

    詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。

  3. dumpfileパラメータをクラウド・オブジェクト・ストレージ上の既存のバケットのURLに設定して(ファイル名またはexp%L.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%L.dmp \
         parallel=16 \
         encryption_pwd_prompt=yes \
         logfile=export.log \
         directory=data_pump_dir

    Oracle Data Pumpパラメータに関するノート:

    • expdpを使用したエクスポート中にencryption_pwd_prompt=yesパラメータを使用する場合は、encryption_pwd_prompt=yesを使用し、impdpプロンプトで同じパスワードを入力します(エクスポートで指定したパスワードをしてからおいてください)。

    • dumpfileパラメータでは、%Lおよび%lワイルドカードがサポートされます。このワイルドカードは、ダンプファイルファイル名を100から2147483646までの3桁から10桁の可変幅増分整数に拡張します。

    • OCI専用エンドポイントがサポートされていない商用レルムにバケットおよびデータが存在しない場合は、dumpfileに次のURI形式を使用します:

      https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname/o/filename

    dumpfileの場合、この例では、商用レルムにOCI専用エンドポイントを使用する推奨URI形式を使用します。namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージの専用エンドポイントリージョンおよび可用性ドメインおよびオブジェクト・ストレージ・ネームスペースの理解を参照してください。

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

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

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

    この例は、Autonomous AI 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を指定します。詳細は、「データ・ポンプ・エクスポートのアクセス・ログ・ファイル」を参照してください。

    Oracle Data Pumpでは、各ダンプ・ファイルの部分を小さなチャンクに分割してアップロードを高速化します。Oracle Cloud Infrastructure Object Storageコンソールには、エクスポートするダンプ・ファイル・パートごとに複数のファイルが表示されます。実際のダンプファイルのサイズはゼロ(0)、関連するファイル・チャンクは10mb以下と表示されます。たとえば:

    exp100.dmp
    exp100.dmp_aaaaaa
    exp101.dmp
    exp101.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/exp100.dmp

    datapump値を持つformatパラメータtypeをサポートするDBMS_CLOUDプロシージャを使用してファイルをインポートする場合は、プライマリ・ファイル名のみを指定する必要があります。datapump形式タイプをサポートするプロシージャでは、チャンクが自動的に検出およびダウンロードされます。

    DBMS_CLOUD.DELETE_OBJECTを使用する場合、プロシージャがプライマリ・ファイルを削除したときにチャンクが自動的に検出されて削除されます。

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

    詳細は、「ダンプ・ファイルのダウンロード、データ・ポンプ・インポートの実行およびオブジェクト・ストアのクリーン・アップ」を参照してください。

ノート

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

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