機械翻訳について

Oracle Data Pumpバージョン19.6以降を使用したSODAコレクション・データのインポート

Oracle Data Pumpを使用してSODAコレクションをAutonomous Databaseにインポートするステップを示します。

SODAコレクションは、バージョン19.6以降のOracle Data Pumpユーティリティを使用してエクスポートおよびインポートできます。 Oracleでは、データ・ポンプ・ファイルからデータベースにデータをインポートするために、最新のOracle Data Pumpバージョンを使用することをお薦めします。

プラットフォームの「Oracle Instant Clientダウンロード」からOracle Data Pumpを含む最新バージョンのOracle Instant Clientをダウンロードします。 Oracle Instant Clientをダウンロードした後に必要なインストール・ステップは、プラットフォームのインストール・ダウンロード・ページのインストール・ステップを参照してください。

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

Oracle Cloud Infrastructureの認証前URIを使用している場合でも、credentialパラメータを指定する必要があります。 ただし、認証前のURLの資格証明は無視されます(その場合、指定された資格証明は有効である必要はありません)。 Oracle Cloud Infrastructureの認証前URIの詳細は、「DBMS_CLOUDパッケージ・ファイルのURI形式」を参照してください。

この例では、SODAコレクション・メタデータを作成し、データ・ポンプでSODAコレクションをインポートする方法を示します。

  1. ソース・データベースで、Oracle Data Pump expdpコマンドを使用してSODAコレクションをエクスポートします。
  2. ステップ1のダンプ・ファイル・セットをCloud Object Storageにアップロードします。
  3. Autonomous Databaseで必要なSODAコレクション・メタデータを使用してSODAコレクションを作成します。

    たとえば、次のメタデータを含むMyCollectionNameという名前のコレクションをソース・データベースからエクスポートするとします:

    • コンテンツ列はBLOBタイプです。

    • バージョン列では、SHA256メソッドが使用されます。

    次に、コレクションをインポートするAutonomous Databaseで、新しいコレクションを作成します:

    • 新規コレクションのAutonomous Databaseでは、コンテンツ列は、jsonFormatOSONとして指定されたBLOBにデフォルトで設定されます。

    • 新規コレクションのAutonomous Databaseでは、versionColumn.methodはデフォルトでUUIDに設定されます。

    詳細は「Autonomous DatabaseでのSODAのデフォルトのコレクション・メタデータ」を参照してください。

    たとえば:

    
    DECLARE
       collection_create SODA_COLLECTION_T;
    BEGIN
       collection_create := DBMS_SODA.CREATE_COLLECTION('MyCollectionName');
    END;
    /
    COMMIT;

    PL/SQLファンクションDBMS_SODA.LIST_COLLECTION_NAMESを使用して、既存のコレクションを検出できます。 詳細については、「LIST_COLLECTION_NAMESファンクション」を参照してください。

    SODAコレクションのメタデータを表示するには、ビューUSER_SODA_COLLECTIONSを問い合せます。 詳細については、USER_SODA_COLLECTIONSを参照してください。

  4. DBMS_CLOUD.CREATE_CREDENTIALを使用してCloud Object Storage資格証明を保存します。

    たとえば、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 Importでは、Oracle Cloud Infrastructure認証トークン・ベースの資格証明およびOracle Cloud Infrastructure署名キー・ベースの資格証明がサポートされます。

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

    • Data Pumpでは、dumpfileパラメータに対するOracle Cloud Infrastructure Object Storage事前認証済URLの使用がサポートされています。 事前認証済URLを使用する場合、credentialパラメータを指定する必要があります。credential値はNULLにできます。 詳細は、「事前認証済リクエストの使用」を参照してください。
  5. dumpfileパラメータにCloud Object StorageのファイルURLのリストを設定し、credentialパラメータに前のステップで作成した資格証明の名前を設定して、データ・ポンプ・インポートを実行します。

    ノート:

    オプションCONTENT=DATA_ONLYを使用して、収集データをインポートします。

    INCLUDEパラメータを使用して、インポートするコレクションを指定します。 これは、データ・ファイル・セットにスキーマ全体が含まれ、インポートする必要があるSODAコレクションがダンプ・ファイル・セットの一部として含まれている場合に便利です。

    REMAP_DATAを使用して、インポート中に列を変更します。 この例では、REMAP_DATAを使用してバージョン列メソッドをSHA256からUUIDに変更する方法を示します。

    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 \
         
         encryption_pwd_prompt=yes \
         SCHEMA=my_schema \
         INCLUDE=TABLE:\"= \'MyCollectionName\'\"  \
         CONTENT=DATA_ONLY \
         REMAP_DATA=my_schema.'\"MyCollectionName\"'.VERSION:SYS.DBMS_SODA.TO_UUID 
          
    

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

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

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

    Oracle Data Pumpバージョン19.6以降では、credential引数は、ソース・ファイルに使用しているCloud Object Storageサービスに対するOracle Data Pumpを認証します。 credentialパラメータは、Azureサービス・プリンシパル、Amazonリソース名(ARN)またはGoogleサービス・アカウントにはできません。 リソース・プリンシパル・ベースの認証の詳細は、「ポリシーおよびロールの構成によるクラウド・リソースへのアクセス」を参照してください。

    dumpfile引数は、データ・ポンプ・ファイルのURLのカンマ区切りリストです。

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

    Data Pump Importを実行するために接続するデータベース・サービス名の詳細は、Autonomous Databaseでの同時実行性および優先度の管理」を参照してください。

    様々なCloud Object Storageサービスのダンプ・ファイルのURL形式については、「DBMS_CLOUDパッケージ・ファイルのURI形式」を参照してください。

    ノート:

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

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

    このインポート例では、REMAP_DATAパラメータの指定で関数DBMS_SODA.TO_UUIDを使用してUUID値を生成します。 デフォルトでは、オンプレミス・データベースの場合、SODAコレクションのバージョン列はドキュメント・コンテンツのSHA-256ハッシュを使用してコンピュートされます。 Autonomous Databaseでは、バージョン列でUUID生成値が使用されます。これは、ドキュメント・コンテンツから独立しています。

    この例では、REMAP_DATAパラメータはDBMS_SODA.TO_UUID関数を使用して、ソース・コレクションのバージョン・タイプをUUIDバージョニングに置き換えます。 エクスポート・ダンプ・ファイル・セットで、versionColumn.methodをインポートする場合、このフィールドのREMAP_DATAは必須ではありません。

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

データ・ポンプ・インポート操作のログ・ファイルは、データ・ポンプ・インポートのDIRECTORYパラメータで指定したディレクトリに格納されます。 詳細については、「データ・ポンプ・インポートのログ・ファイルへのアクセス」を参照してください。