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

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

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

Data PumpファイルのデータをAutonomous Database,にインポートする場合は、最新のOracle Data Pumpバージョンを使用することをお薦めします。これには操作性向上のための拡張機能と修正が含まれています。

「Oracle Instant Clientのダウンロード」から、使用しているプラットフォーム用の最新バージョンのOracle Instant Client (Oracle Data Pumpを含む)をダウンロードします。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では、dumpfileパラメータに対するOracle Cloud Infrastructure Object Storageの事前認証済URLの使用がサポートされています。事前認証済URLを使用する場合、credentialパラメータを指定する必要があります。credential値はNULLにできます。詳細は、事前認証済リクエストの使用を参照してください。
    • Data Pumpでは、impdpでのリソース・プリンシパル資格証明の使用がサポートされています。詳細は、OCIリソース・プリンシパルを使用したOracle Data Pump Version 18.3以上を使用したデータのインポートを参照してください。

  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 Databaseリリース12.2以降からのエクスポートには、%Lまたは%lワイルドカードを使用します。このワイルドカードは、ダンプファイルファイル名を3桁から10桁の可変幅増分整数に拡張し、100から2147483646で終わります。

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

    • バケットとデータが商用(OC1)レルム(OCI専用エンドポイントがサポートされていない)に存在しない場合は、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 Databaseで許可されていないオブジェクトの詳細は、「SQLコマンド」を参照してください。

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

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

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

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

Oracle Data Pumpでは、Oracle Cloud Infrastructureリソース・プリンシパルを資格証明オブジェクトとして使用して、データ・ポンプ・ファイルをAutonomous 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 Databaseインスタンスにインポートできます。

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

  1. 動的グループおよびポリシーを構成し、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ワイルドカードを使用します。このワイルドカードは、ダンプファイルファイル名を3桁から10桁の可変幅増分整数に拡張し、100から2147483646で終わります。

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

    • バケットとデータが商用(OC1)レルム(OCI専用エンドポイントがサポートされていない)に存在しない場合は、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 Databaseで許可されていないオブジェクトの詳細は、「SQLコマンド」を参照してください。

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

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

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

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

Data Pump Importバージョン12.2.0.1以前には、credentialパラメータがありません。古いバージョンのData Pump Importを使用している場合は、Autonomous 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では、dumpfileに対するOracle Cloud Infrastructure Object Storageの事前認証済URLの使用がサポートされています。事前認証済URLを使用する場合、DEFAULT_CREDENTIALの設定が必要で、DEFAULT_CREDENTIALの値をNULLにできます。詳細は、事前認証済リクエストの使用を参照してください。

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

  2. ADMINユーザーとして、この資格証明をAutonomous 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. dumpfileパラメータをクラウド・オブジェクト・ストレージのファイルURLのリストに設定して、Data Pump Importを実行し、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 Databaseリリース12.2以降からのエクスポートには、%Lまたは%lワイルドカードを使用します。このワイルドカードは、ダンプファイルファイル名を3桁から10桁の可変幅増分整数に拡張し、100から2147483646で終わります。

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

    • バケットとデータが商用(OC1)レルム(OCI専用エンドポイントがサポートされていない)に存在しない場合は、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 Databaseで許可されていないオブジェクトの詳細は、「SQLコマンド」を参照してください。

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

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

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

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

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

  1. Oracle Data Pump expdpを使用して、ローカル記憶域にエクスポートします。
  2. ダンプファイルをOracle Cloud Infrastructure Object Storageにアップロードします。

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

  3. Oracle Cloud Infrastructure Object Storageで、複数のダンプファイルがある場合はオブジェクト・ストア・バケットに、ファイルが1つのみの場合はダンプ・ファイルに、事前認証済URLを作成します。
  4. dumpfileパラメータ値が事前認証済URLに設定されたダンプ・ファイルをインポートします。