22.1 Oracle Data Pumpを使用したデータのインポート

データ・ポンプ・ファイルからクラウド・データベースにデータをインポートできます。

ノート:

開始する前に、エクスポート・ジョブが必要です。cURLを使用してエクスポート・ジョブを作成するには、エクスポート・データ・ポンプ・ジョブの作成を参照してください。

Oracle Data Pumpインポートを使用すると、エクスポート・ダンプ・ファイル・セットをターゲット・データベースにロードできます。また、中間ファイルを使用することなく、ソース・データベースからターゲット・データベースへの直接的なロードも可能です。

データ・ポンプのインポートの詳細は、『Oracle Databaseユーティリティ』データ・ポンプのインポートを参照してください。

22.1.1 要件

Oracle Cloud Infrastructureストレージ・オブジェクトにアクセスするには、リソース・プリンシパルまたはクラウド・サービス資格証明を設定する必要があります。

リソース・プリンシパルの設定

  1. Database ActionsにADMINユーザーとしてログインし、Autonomous Databaseのリソース・プリンシパルを有効にします

    SQLワークシート・ページで、次のように入力します:

    EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL();

    オプション: 次のステップが必要なのは、ADMINユーザー以外のデータベース・ユーザーにリソース・プリンシパル資格証明へのアクセス権を付与する場合のみです。ADMINユーザーとして、次の文を使用して、指定したデータベース・ユーザーのリソース・プリンシパルを有効にします:

    EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(username => 'adb_user');

    これは、ユーザーadb_userに資格証明OCI$RESOURCE_PRINCIPALへのアクセスを付与します。指定したユーザーに、他のユーザーのリソース・プリンシパルを有効にする権限を付与する場合は、grant_optionパラメータをTRUEに設定します。

    BEGIN
    DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(
    username => 'adb_user',
    grant_option => TRUE);
    END;

    詳細は、Oracle Cloud Oracle Autonomous Database Serverlessの使用リソース・プリンシパルの使用を参照してください。

  2. resource.idを取得します。

    Oracle Cloud Infrastructureコンソールで、「Oracleデータベース」を選択し、「Autonomous Database」を選択します。「データベース」タブで、「アクション」アイコン(3つのドット)をクリックし、OCIDのコピーを選択します。これは、すべてのコンパートメントのすべてのデータベース・インスタンスに適用されます。

    コンソールのOCIDのコピー・オプション
  3. 動的グループを作成します。

    1. Oracle Cloud Infrastructureコンソールで、「アイデンティティとセキュリティ」をクリックし、「動的グループ」をクリックします。

    2. 「動的グループの作成」をクリックし、必要なフィールドすべてに入力します。すべてのデータベースに次の形式を使用して一致ルールを作成します:

      any { resource.id = 'here goes the OCID of your database 1', 
      resource.id ='here goes the OCID of your database 2' }

      ノート:

      動的グループを管理するには、次のいずれかの権限が必要です:
      • 管理者グループのメンバーである。
      • アイデンティティ・ドメイン管理者ロールまたはセキュリティ管理者ロールが付与されている。
      • manage identity-domainsまたはmanage dynamic-groupsを付与されたグループのメンバーである。
  4. 新規ポリシーを作成します。

    ObjectStorageReadersPolicyを使用すると、ObjectStorageReadersグループのユーザーは、テナンシ内の任意のオブジェクト・ストレージ・バケットからオブジェクトをダウンロードできます。スコープを特定のコンパートメントに絞り込むこともできます。ポリシーには、バケットのリスト、バケット内のオブジェクトのリスト、およびバケット内の既存オブジェクトの読取りを実行する権限が含まれています。

    1. Oracle Cloud Infrastructureコンソールで、「アイデンティティ」をクリックした後、「ポリシー」をクリックします。

    2. 「ポリシーの作成」をクリックします。

    3. ポリシー名には、ObjectStorageReadersPolicyと入力します。

    4. 説明には、Allow ObjectStorageReaders group to read objects and bucketsと入力します。

    5. 「コンパートメント」リストから、ルート・コンパートメントを選択します。

    6. 次のポリシー・ステートメントを追加します。これにより、ObjectStorageReadersはバケットを読み取ることができます:

      Allow dynamic-group ObjectStorageReaders to read buckets in tenancy
    7. ObjectStorageReadersによるバケット内のオブジェクトの読取りを許可する2番目のポリシー・ステートメントを追加します:

      Allow dynamic-group ObjectStorageReaders to read objects in tenancy
    8. 「作成」をクリックします。

    OCIコンソールでのポリシーの作成

クラウド・サービス資格証明の設定

  1. Oracle Cloud Infrastructureコンソールで、「アイデンティティとセキュリティ」をクリックし、「ドメイン」をクリックします。
  2. 「リスト範囲」の「コンパートメント」フィールドで、ドロップダウン・リストからルート・コンパートメントを選択し、その後にデフォルト・ドメインを指定します。
  3. デフォルト・ドメインで、「ユーザー」をクリックし、「ユーザーの作成」をクリックします。「ユーザーの作成」画面で、DMPファイルが格納されているバケットにアクセスできる「管理者」グループを選択します。
    「ユーザーの作成」画面
  4. ユーザーを作成した後、表示される新しい画面の左側の「リソース」で、「APIキー」を選択します。
    APIキーの選択
  5. 「APIキーの追加」をクリックします。
    APIキーの追加
  6. 「APIキーの追加」画面で、「秘密キーのダウンロード」をクリックします。ダウンロード後、「追加」をクリックします。構成ファイルのプレビュー画面が表示されます。

    構成ファイルのプレビュー

    ユーザーフィンガープリントおよびテナンシ情報は、後でユーザー・データベースの作成に使用されます。

  7. データベース・ユーザーを作成するデータベースを入力します。

    データベースの選択
  8. 資格証明の作成には、次のコード・ブロックDBMS_CLOUD.CREATE_CREDENTIALが使用されます。

    構成ファイルのプレビュー・ウィンドウ情報は、新しい資格証明の生成に使用されます。private_key属性の場合は、任意のテキスト・エディタを使用して、ステップ6でダウンロードした.PEMファイルを開く必要があります。次の図に示すように、コード・ブロックを生成します:

    コード・ブロック

22.1.2 データのインポート

この項では、Database ActionsでOracle Data Pumpを使用してデータをインポートする手順を示します。

  1. 「データ・ポンプ」ページの右上にある「インポート」をクリックします。

    インポート・ウィザードが表示されます。

  2. ソース・ステップで、次の手順を実行します:

    バケット名のソース:

    • バケット・リスト: 資格証明および目的のコンパートメントを選択した後、バケット・リストに基づいてバケットを選択できます。

    • 手動検索: 有効な資格証明を選択した後、そのファイルをリストするバケットの正確な名前を入力する必要があります。

    モードを選択したら、次のフィールドを入力します:

    1. 資格証明名: オブジェクト・ストレージ・バケットの情報にアクセスするには、有効な資格証明を選択します。

    2. コンパートメント名: テナンシ内の任意のレベルでコンパートメントを選択します(バケット・リストでのみ使用可能です)。
    3. バケット名: ドロップダウン・リストからダンプ・ファイルを含むバケットを選択します。バケットを選択すると、関連するダンプ・ファイルが「バケット・オブジェクト」フィールドに自動的に埋め込まれます。
    4. バケット・オブジェクト: リストからダンプ・ファイルを選択します。
    5. パターンのインポート: ダンプ・ファイルを選択すると、「パターンのインポート」フィールドに自動的に入力されます。必要に応じてパターンを変更できます。一致するダンプ・ファイルが「ダンプ・ファイル」フィールドに表示されます。
    6. ダンプ・ファイル: インポートするダンプ・ファイルを選択します。

    「次」をクリックします。

  3. 「インポート」ステップで、次のフィールドを入力します。
    • インポート名: インポート・ジョブの名前を入力します。
    • インポート・タイプ: インポートのタイプを選択します。オプションは、「フル」、「表」、「スキーマ」および「表領域」です。

      ノート:

      「フル」を選択した場合は、ウィザードの「フィルタ」ステップをスキップして、「マッピング」ステップに直接進みます。
    • 内容: 「データのみ」「DDLのみ」または「データとDDL」を選択します。
    • クラウド・ディレクトリ名: インポート先のディレクトリを選択します。
    • 暗号化: 暗号化する場合に選択し、暗号化パスワードを入力します。

    「次」をクリックします。

  4. 「フィルタ」ステップでは、インポート・タイプに応じて、インポート・ジョブのすべてのスキーマ、表または表領域がリストされます。該当するものを選択します。「次」をクリックします。
  5. 「マッピング」ステップで、ソース・スキーマを選択し、ターゲット・スキーマの新しい名前を入力します。必要に応じて、表領域に対して同じ操作を実行します。「次」をクリックします。
  6. 「オプション」ステップで、次のフィールドを入力します。
    • スレッド: インポート・ジョブのために、アクティブな実行の最大スレッド数を指定します。デフォルトは1です。
    • 表が存在する場合の表の処理: インポートする表がすでに存在する表を作成しようとする場合に必要な処理を指定します。
    • 使用不能な索引のスキップ: 索引が使用できない状態に設定された索引を持つ表のロードをインポートでスキップするかどうかを指定する場合に選択します。
    • オブジェクトIDの再生成: インポートしたデータベース・オブジェクトの新規オブジェクト識別子を作成する場合に選択します。
    • マスター表の削除: 正常に完了したOracle Data Pumpジョブの最後に、データ・ポンプ制御ジョブ表を削除するか保持するかを指定する場合に選択します。
    • 既存データファイルの上書き: 宛先スキーマに表がすでに存在し、上書きする場合に選択します。
    • バージョン: インポートするデータベース・オブジェクトのバージョンを選択します。
    • ロギング: ログ・ファイルを作成する場合に選択します。ログ・ディレクトリとログ・ファイル名を入力します。

    「次」をクリックします。

  7. 「サマリー」ステップには、前のステップで行ったすべての選択内容のサマリーが表示されます。

    下部の「コードの表示」を選択して、フォームと同等のPL/SQLコードを表示します。

    「インポート」をクリックします。

    ジョブ実行の開始が「データ・ポンプ」ページに表示されます。