Oracle Data Pumpを使用して、DEFAULT_CREDENTIALプロパティを設定しているオブジェクト・ストアへのデータのエクスポート

Oracle Data Pump ExportおよびDEFAULT_CREDENTIALプロパティを使用して、Autonomous AI Databaseからクラウド・オブジェクト・ストレージにデータをエクスポートする方法を示します。

Autonomous AI Database 26aiは、Oracle Cloud Infrastructure Object Storage、Amazon S3、Azure Blob StorageおよびGoogle Cloud StorageへのData Pumpエクスポートをサポートしています。Autonomous AI Database 19cは、Oracle Cloud Infrastructure Object Storageへの直接Data Pumpエクスポートをサポートしています。資格証明パラメータを使用したエクスポートを参照してください。

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

ノート

ノート:データベース・アクションには、Oracle Instant Clientのリンクがあります。データベース・アクションからこのリンクにアクセスするには、「ダウンロード」「Oracle Instant Clientのダウンロード」をクリックします。

  1. 自律型AIデータベースに接続します。

  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 Cloud InfrastructureネイティブURIまたはSwift URIを使用できますが、資格証明は認証トークンである必要があります。詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。

  3. ADMINユーザーとして、ステップ2で定義した資格証明をデータベースのデフォルトの資格証明として設定します。たとえば:

    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'ADMIN.DEF_CRED_NAME'

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

  4. Run Data Pump Export with the dumpfile parameter set to the URL for an existing bucket on your Cloud Object Storage (ending with a file name or a file name with a substitution variable, such as exp%L.dmp). 次に例を示します。

    expdp admin/password@db2022adb_high \
         filesize=5GB \
         dumpfile=default_credential: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

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

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

    • dumpfileパラメータでは、従来の%Uおよび%uワイルドカードに加えて、%Lおよび%lワイルドカードがサポートされます。たとえば、dumpfile=export%L.dmpです。Oracle AI Databaseリリース12.2以上からのエクスポートには、%Lまたは%lワイルドカードを使用します。このワイルドカードは、ダンプファイルファイル名を100から2147483646までの3桁から10桁の可変幅増分整数に拡張します。

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

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

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

      dumpfileパラメータのdefault_credentialキーワードは必須です。

      最適なエクスポート・パフォーマンスを実現するには、エクスポート接続に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を使用する場合、プロシージャがプライマリ・ファイルを削除したときにチャンクが自動的に検出されて削除されます。

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

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

ノート

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

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