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 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プロシージャを参照してください。

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

  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ワイルドカードを使用します。このワイルドカードは、ダンプファイルファイル名を100から2147483646までの3桁から10桁の可変幅増分整数に展開します。

      リリース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はバケット名です。詳細は、オブジェクト・ストレージ専用エンドポイントリージョンおよび可用性ドメインおよびオブジェクト・ストレージ・ネームスペースの理解を参照してください。

    様々なCloud Object Storageサービスのダンプ・ファイルのURLフォーマットについては、「DBMS_CLOUD URIフォーマット」を参照。

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

    • クラスタ

    • 索引タイプ

    • データベース・リンク

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

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

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

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

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

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

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データ・ポンプ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ワイルドカードを使用します。このワイルドカードは、ダンプファイルファイル名を100から2147483646までの3桁から10桁の可変幅増分整数に展開します。

      リリース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はバケット名です。詳細は、オブジェクト・ストレージ専用エンドポイントリージョンおよび可用性ドメインおよびオブジェクト・ストレージ・ネームスペースの理解を参照してください。

    様々なCloud Object Storageサービスのダンプ・ファイルのURLフォーマットについては、「DBMS_CLOUD URIフォーマット」を参照。

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

    • クラスタ

    • 索引タイプ

    • データベース・リンク

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

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

    Oracle Data Pumpインポートの使用に関する追加のノートは、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のリストを設定し、default_credentialキーワードを設定して、Data Pump Importを実行します。たとえば:
    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ワイルドカードを使用します。このワイルドカードは、ダンプファイルファイル名を100から2147483646までの3桁から10桁の可変幅増分整数に展開します。

      リリース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インポートの使用に関する追加のノートは、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に設定されたダンプ・ファイルをインポートします。