Oracle Data Pump最新バージョンまたは旧バージョンでのデータのインポート

Oracle Data Pumpを使用してAutonomous AI Databaseにデータをインポートするステップは、Oracle Data Pumpのバージョンによって異なります。

Oracle Data Pumpバージョン18.3以降を使用したデータ・インポート

Oracleでは、Data PumpファイルからAutonomous AI Databaseにデータをインポートするために最新のOracle Data Pumpバージョンを使用することをお薦めします。これには、より優れたエクスペリエンスを実現するための拡張機能と修正が含まれています。

Oracle Instant Client Downloadsから、ご使用のプラットフォーム向けの最新バージョンのOracle Data Pump (Oracle Instant Clientのダウンロード)をダウンロードします。Oracle Instant Clientをダウンロードした後に必要なインストール・ステップについては、プラットフォーム・インストールのダウンロード・ページでインストールの手順を参照してください。

Oracle Data Pumpバージョン18.3以降では、credential引数により、ソース・ファイルに使用しているクラウド・オブジェクト・ストレージ・サービスに対してData Pumpが認証されます。dumpfile引数は、Data PumpファイルのURLをカンマで区切ったリストです。

Oracle Data Pumpでは、ソース・ファイルがOracle Cloud Infrastructure Object Storageに存在する場合、Oracle Cloud InfrastructureのネイティブURIまたはSwift URIを使用できます。これらのファイルURIフォーマットの詳細は、DBMS_CLOUD URI形式を参照してください。

クラウド・オブジェクト・ストレージからOracle Data Pumpダンプファイルをロードするには、Oracle Data Pump Importを実行し、credentialパラメータを含めます:

  1. DBMS_CLOUD.CREATE_CREDENTIALを使用してクラウド・オブジェクト・ストレージ資格証明を格納してください。

    たとえば、デフォルトのアイデンティティ・ドメインでOracle Cloud Infrastructure認証トークン資格証明を作成するには:

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

    OCIオブジェクト・ストレージの場合、usernameパラメータ値には、アイデンティティ・ドメインとプロファイルのユーザー名を含める必要があります。ユーザーに関連付けられているアイデンティティ・ドメインは、Oracle Cloud Infrastructure Consoleで確認できます。たとえば、oracleidentitycloudserviceアイデンティティ・ドメインの場合、次のようになります。

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

    Oracle Cloud Infrastructure認証トークン認証の詳細は、CREATE_CREDENTIALプロシージャを参照してください。

    たとえば、Oracle Cloud Infrastructure署名キー・ベース資格証明を作成するには:

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL (
           credential_name => 'DEF_CRED_NAME',
           user_ocid       => 'ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa',
           tenancy_ocid    => 'ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a',
           private_key     => 'MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=',
           fingerprint     => 'f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27');
    END;
    /

    Oracle Cloud Infrastructure署名キー・ベースの資格証明の詳細は、CREATE_CREDENTIALプロシージャを参照してください。

    サポートされている資格証明のタイプ:

    • Data Pump Importは、Oracle Cloud Infrastructure認証トークン・ベース資格証明およびOracle Cloud Infrastructure署名キー・ベース資格証明をサポートしています。

      Oracle Cloud Infrastructure Cloud Object Storageの資格証明タイプの詳細は、CREATE_CREDENTIALプロシージャを参照してください。

    • Data Pumpでは、Oracle Cloud Infrastructure Object Storageのdumpfileパラメータに対する事前認証済URLの使用がサポートされています。事前認証済URLを使用する場合、credentialパラメータの指定が必要であり、credential値をNULLにできます。詳細は、事前認証済リクエストの使用を参照してください。

    • Data Pumpでは、impdpでのリソース・プリンシパル資格証明の使用がサポートされています。詳細は、Oracle Data Pumpバージョン18.3以上を使用したOCIリソース・プリンシパルのデータのインポートを参照してください。

  2. dumpfileパラメータにクラウドのオブジェクト・ストレージのファイルURLのリストを設定し、credentialパラメータに前述のステップで作成した資格証明の名前を設定して、Data Pump Importを実行します。

    たとえば:

    impdp admin/password@db2022adb_high \
          directory=data_pump_dir \
          credential=def_cred_name \
          dumpfile= https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/export%l.dmp \
          parallel=16 \
          encryption_pwd_prompt=yes \
          exclude=cluster,indextype,db_link

    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桁の可変幅増分整数に拡張します。リリース12.2より前のOracle AI Databaseからのエクスポートには、レガシーの%Uまたは%uワイルドカードを使用します。このオプションを使用し、99を超えるダンプ・ファイルが必要な場合は、それぞれに%Uまたは%uパラメータを指定して、複数のダンプ・ファイル名を指定する必要があります。
    • OCI専用エンドポイントがサポートされていない商用(OC1)レルムにバケットおよびデータが存在しない場合は、dumpfileに次のURI形式を使用します:

      https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname/o/filename
    • credentialパラメータは、Azureサービス・プリンシパル、Amazonリソース名(ARN)またはGoogleサービス・アカウントにはできません。リソース・プリンシパル・ベースの認証の詳細は、リソースにアクセスするためのポリシーおよびロールの構成を参照してください。

    • dumpfile値を事前認証済URLとして指定する場合、credentialパラメータが必要であり、値はNULLです。

    事前認証済URLの使用に必要なステップの詳細は、「事前認証済URLでのOracle Data Pumpインポートの使用」を参照してください。

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

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

    この例では、データ・ポンプ・インポート時に次のものが除外されます:

    • クラスタ

    • 索引タイプ

    • データベース・リンク

    全体インポートを実行したり、他のユーザーが所有するオブジェクトをインポートするには、DATAPUMP_CLOUD_IMPロールが必要です。

    Autonomous AI Databaseで許可されていないオブジェクトの詳細は、SQLコマンドを参照してください。

    Oracle Data Pump Importの使用に関する追加のノートは、Oracle Data Pumpを使用したインポートのノートを参照してください。

    Autonomous AI DatabaseでのOracle Data Pumpインポートを使用した表の圧縮の詳細は、Oracle Data Pumpインポートおよび表の圧縮を参照してください。

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

Oracle Data Pumpバージョン18.3以上を使用したOCIリソース・プリンシパルを使用したデータ・インポート

Oracle Data Pumpでは、Oracle Cloud Infrastructureリソース・プリンシパルを資格証明オブジェクトとして使用して、Autonomous AI Databaseへのデータ・ポンプ・ファイルのインポートをサポートしています。

Oracle Data Pump expdpを使用してオブジェクト・ストアに直接エクスポートする場合は、impdpを使用してインポートしたときにエクスポートに使用したものと同じ資格証明を使用する必要があります。この場合、Oracle Data PumpインポートはOracle Cloud Infrastructureリソース・プリンシパル資格証明をサポートしません。その他のアップロード方法は、リソース・プリンシパル資格証明を使用してimpdpを使用するためにサポートされています。たとえば、DBMS_CLOUD.PUT_OBJECTを使用してオブジェクト・ストアにOracle Data Pumpファイルをアップロードする場合、リソース・プリンシパル資格証明を使用してOracle Data Pump impdpを使用してファイルをインポートできます。同様に、Oracle Cloud Infrastructure Consoleを使用してデータ・ポンプ・ファイルをオブジェクト・ストアにアップロードする場合、リソース・プリンシパル資格証明を使用して、Oracle Data Pump impdpを使用してAutonomous AI Databaseインスタンスにインポートできます。

Oracle Data Pumpでは、ソース・ファイルがOracle Cloud Infrastructure Object Storageに存在する場合、Oracle Cloud InfrastructureのネイティブURIまたはSwift URIを使用できます。これらのファイルのURIフォーマットの詳細は、「DBMS_CLOUD URI形式」を参照してください。

  1. 動的グループおよびポリシーを構成し、Oracle Cloud Infrastructureリソース・プリンシパルが、インポートするデータ・ポンプ・ファイルが存在するオブジェクト・ストアの場所にアクセスできるようにします。

    詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。

  2. dumpfileパラメータをクラウド・オブジェクト・ストレージのファイルURLのリストに設定し、credentialパラメータをOCI$RESOURCE_PRINCIPALに設定して、Data Pump Importを実行します。

    次に例を示します。

    impdp admin/password@db2022adb_high \
          directory=data_pump_dir \
          credential= 'OCI$RESOURCE_PRINCIPAL' \
          dumpfile= https://*namespace-string*.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/export%l.dmp \
          parallel=16 \
          encryption_pwd_prompt=yes \
          exclude=cluster,indextype,db_link

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

    • expdpによるエクスポート時にencryption_pwd_prompt=yesパラメータを使用して、encryption_pwd_prompt=yesを使用し、エクスポート時に指定したimpdpプロンプトで同じパスワードを入力します。

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

      リリース12.2より前のOracle AI Databaseからのエクスポートには、レガシーの%Uまたは%uワイルドカードを使用します。このオプションを使用し、99を超えるダンプ・ファイルが必要な場合は、それぞれに%Uまたは%uパラメータを指定して、複数のダンプ・ファイル名を指定する必要があります。

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

      https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname/o/filename
    • dumpfile値を事前認証済URLとして指定する場合、credentialパラメータが必要であり、値はNULLです。

      事前認証済URLの使用に必要なステップの詳細は、「事前認証済URLでのOracle Data Pumpインポートの使用」を参照してください。

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

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

この例では、データ・ポンプ・インポート時に次のものが除外されます:

  • クラスタ

  • 索引タイプ

  • データベース・リンク

全体インポートを実行したり、他のユーザーが所有するオブジェクトをインポートするには、DATAPUMP_CLOUD_IMPロールが必要です。

Autonomous AI Databaseで許可されていないオブジェクトの詳細は、SQLコマンドを参照してください。

Oracle Data Pump Importの使用に関する追加のノートは、Oracle Data Pumpを使用したインポートのノートを参照してください。

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

Oracle Data Pumpバージョン12.2以前を使用したデータのインポート

default_credentialパラメータを設定することで、Data Pumpクライアント・バージョン12.2.0.1以前を使用して、Data PumpファイルからAutonomous AIデータベースにデータをインポートできます。

Data Pump Importバージョン12.2.0.1以前には、credentialパラメータがありません。古いバージョンのData Pump Importを使用している場合は、Autonomous AI Databaseにデフォルトの資格証明プロパティを定義し、dumpfileパラメータでdefault_credentialキーワードを使用する必要があります。

Oracle Data Pumpでは、ソース・ファイルがOracle Cloud Infrastructure Object Storageに存在する場合、Oracle Cloud InfrastructureネイティブURI、またはSwift URIを使用できます。これらのファイルURIフォーマットの詳細は、DBMS_CLOUD URI形式を参照してください。

旧Oracle Data Pumpバージョンによるインポートとdefault_credentialの設定

  1. DBMS_CLOUD.CREATE_CREDENTIALを使用してクラウド・オブジェクト・ストレージ資格証明を格納してください。

    たとえば、Oracle Cloud Infrastructure認証トークン資格証明を作成するには:

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

    Oracle Cloud Infrastructure認証トークン認証の詳細は、CREATE_CREDENTIALプロシージャを参照してください。

    たとえば、Oracle Cloud Infrastructure署名キー・ベース資格証明を作成するには:

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL (
           credential_name => 'DEF_CRED_NAME',
           user_ocid       => 'ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa',
           tenancy_ocid    => 'ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a',
           private_key     => 'MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=',
           fingerprint     => 'f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27');
    END;
    /

    Oracle Cloud Infrastructure署名キー・ベースの資格証明の詳細は、CREATE_CREDENTIALプロシージャを参照してください。

    サポートされている資格証明のタイプ:

    • Data Pumpインポートでは、Oracle Cloud Infrastructure認証トークン・ベース資格証明およびOracle Cloud Infrastructure署名キー・ベース資格証明がサポートされます。

      Oracle Cloud Infrastructure Cloud Object Storageの資格証明タイプの詳細は、CREATE_CREDENTIALプロシージャを参照してください。

    • Data Pumpでは、Oracle Cloud Infrastructure Object Storageのdumpfileの事前認証済URLの使用がサポートされています。事前認証済URLを使用する場合、DEFAULT_CREDENTIALの設定が必要で、DEFAULT_CREDENTIAL値をNULLにできます。詳細は、事前認証済リクエストの使用を参照してください。

    • Data Pumpでは、impdpでのリソース・プリンシパル資格証明の使用がサポートされています。

  2. ADMINユーザーとして、この資格証明をAutonomous AI Databaseのデフォルトの資格証明に設定してください。たとえば:

    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'ADMIN.DEF_CRED_NAME'

    DEFAULT_CREDENTIALは、OCIリソース・プリンシパルにすることができます。次に例を示します。

    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'OCI$RESOURCE_PRINCIPAL'

    リソース・プリンシパル・ベースの認証の詳細は、リソースにアクセスするためのポリシーおよびロールの構成を参照してください。

    ノート

    ノート: DEFAULT_CREDENTIAL値は、Azureサービス・プリンシパル、Amazonリソース名(ARN)またはGoogleサービス・アカウントにできません。

    事前認証済URLを使用している場合は、DEFAULT_CREDENTIAL値をNULLに設定できます。

  3. Data Pump Importにクラウドのオブジェクト・ストレージのファイルURLのリストを設定し、dumpfileパラメータを設定して、default_credentialキーワードを設定します。次に例を示します。

    impdp admin/password@db2022adb_high \
          directory=data_pump_dir \
          dumpfile=default_credential:https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/export%l.dmp \
          parallel=16 \
          encryption_pwd_prompt=yes \
          exclude=cluster,indextype,db_link

    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桁の可変幅増分整数に拡張します。

      リリース12.2より前のOracle Databaseからのエクスポートには、レガシーの%Uまたは%uワイルドカードを使用します。このオプションを使用し、99を超えるダンプ・ファイルが必要な場合は、それぞれに%Uまたは%uパラメータを指定して、複数のダンプ・ファイル名を指定する必要があります。

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

      https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname/o/filename
    • dumpfile値を事前認証済URLとして指定する場合、default_credentialパラメータの設定は必須であり、値はNULLになります。

      事前認証済URLの使用に必要なステップの詳細は、「事前認証済URLでのOracle Data Pumpインポートの使用」を参照してください。

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

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

この例では、データ・ポンプ・インポート時に次のものが除外されます:

  • クラスタ

  • 索引タイプ

  • データベース・リンク

ノート

ノート:完全インポートを実行したり、他のユーザーが所有するオブジェクトをインポートするには、DATAPUMP_CLOUD_IMPロールが必要です。

Autonomous AI Databaseで許可されていないオブジェクトの詳細は、SQLコマンドを参照してください。

Oracle Data Pump Importの使用に関する追加のノートは、Oracle Data Pumpを使用したインポートのノートを参照してください。

Autonomous AI DatabaseでのOracle Data Pumpインポートを使用した表の圧縮の詳細は、Oracle Data Pumpインポートおよび表の圧縮を参照してください。

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

事前認証済URLでのOracle Data Pumpインポートの使用

Oracle Data Pump Importで事前認証済URL (PAR URL)を使用するステップを示します。

  1. Oracle Data Pump expdpを使用し、ローカル記憶域にエクスポートします。

    詳細は、Export Your Existing Oracle AI Database to a Local Database File (Export without Credential Parameter)を参照してください。

  2. ダンプ・ファイルをOracle Cloud Infrastructure Object Storageにアップロードします。

    たとえば、DBMS_CLOUD.PUT_OBJECTを使用してダンプファイルをアップロードします。

  3. Oracle Cloud Infrastructure Object Storageで、複数のダンプ・ファイルがある場合はオブジェクト・ストア・バケットに、ファイルが1つのみの場合はダンプ・ファイルに、事前認証済URLを作成します。

    詳細は、オブジェクト・ストレージの事前認証済リクエストを参照してください。

  4. dumpfileパラメータ値が事前認証済URLに設定されたダンプ・ファイルをインポートします。

    詳細は、Oracle Data Pumpバージョン18.3以降を使用したデータ・インポートを参照してください。