機械翻訳について

通常のData Pump ExportおよびImport

この方法は、ソース・データベースのエンディアン形式およびデータベース文字セットに関係なく使用できます。 Data Pumpを使用して異なるバージョンのOracle Database間でデータを移行することもできます。 この方法は実装が単純で、最も広範なクロスプラットフォーム・サポートを提供し、ターゲット・データベースの物理的な再編成を可能にします。ただし、データベースの規模が大きい場合、またはタイムフレームが限られている場合、エクスポートおよびインポートに必要な時間およびリソースの点からこの方法は適さない場合があります。

通常のData Pump ExportおよびImportではData Pumpユーティリティexpdpおよびimpdpを使用してOracle Databaseデータおよびメタデータをアンロード(エクスポート)およびロード(インポート)します。 エクスポート時、ソース・データのコピーおよびメタデータはバイナリ・ダンプ・ファイルに書き込まれます。 ダンプ・ファイルをターゲット・システムにトランスポートした後、そのコンテンツを別のOracleデータベースにインポートできます。 このアーキテクチャから、Data Pumpは異なるプラットフォーム間、異なるOracle Databaseのバージョン間および文字セットの異なるデータベース間でのデータの移行のための広範なサポートを提供します。

この方法の使用と組み合せることで、データベース管理者はターゲット・データベースのデータベース・オブジェクトの物理プロパティを変更できます。 たとえば、管理者は、ターゲット・データベース環境の特性に合せて表および索引のエクステント・サイズを最適化できます。 したがって、通常のData Pump ExportおよびImportは、ターゲット・データベースを物理的に再編成する必要のある状況に適しています。

データベース全体を対象とする以外に、通常のData Pump ExportおよびImportには、特定の表、スキーマまたは表領域をエクスポートおよびインポートする柔軟性が備わっており、データベース全体を移行しない状況にも適しています。 データベースを部分的に移行する方法が論理的に有効な場合、この機能によってそれも可能になります。

エクスポートおよびインポート時に必要な処理のために、この方法は他の移行方法より時間およびリソースを集中的に必要とします。 したがって、ダウンタイムを最小限にする必要がある移行の場合、他の方法が望ましいこともあります。

従来のData Pump ExportおよびImportを使用して、ソース・データベース、表領域、スキーマまたは表をOracle Database Exadata Cloud Machineに移行するには、次の作業を行います:

  1. ソース・データベース・ホストでData Pump Exportを使用してソース・データベースの一部またはすべてをダンプ・ファイルにアンロードします。

  2. 結果のダンプ・ファイルをExadata Cloud Machine計算ノードに転送します。

  3. Exadata Cloud Machine計算ノードでData Pump Importを使用してターゲット・データベースをロードします。

  4. ダンプ・ファイルの内容が正常にインポートされたことを確認したら、ダンプ・ファイルを削除できます。

「Oracle Databaseユーティリティ」「第I部: Oracle Data Pump」を参照してください。

通常のData Pump ExportおよびImport: 例

この例では、既存のOracleデータベースからOracle Database Exadata Cloud Machineにスキーマを移行するために必要なタスクのデモを段階的に示します。

この例では、スキーマ・モードのエクスポートおよびインポートを説明します。 同じ一般的な手順は、データベース全体、表領域または表のエクスポートおよびインポートに適用されます。

この例では、ソース・データベースはLinuxホスト上にあります。

  1. ソース・データベース・ホストでData Pump Exportを起動し、スキーマをエクスポートします。

    1. ソース・データベース・ホストでオペレーティング・システム・ディレクトリを作成し、エクスポート操作からの出力を格納します。

      $ mkdir /u01/app/oracle/admin/orcl/dpdump/for_cloud
      
    2. ソース・データベースのホストで、SQL*Plusを起動し、ソース・データベースにSYSTEMユーザーとしてログインします。

      $ sqlplus system
      Enter password: <enter the password for the SYSTEM user>
      
    3. オペレーティング・システム・ディレクトリを参照するディレクトリ・オブジェクトをソース・データベースに作成します。

      SQL> CREATE DIRECTORY dp_for_cloud AS '/u01/app/oracle/admin/orcl/dpdump/for_cloud';
      
    4. SQL*Plusを終了します。

    5. ソース・データベース・ホストでSYSTEMユーザーまたはDATAPUMP_EXP_FULL_DATABASEロールを持つ別のユーザーとしてData Pump Exportを起動し、必要なスキーマをエクスポートします。 この例では、スキーマの所有者はFSOWNERです。 要求されたら、ユーザーのパスワードを指定します。

      $ expdp system SCHEMAS=fsowner DIRECTORY=dp_for_cloud
      
  2. ダンプ・ファイルをターゲットExadata Cloud Machine計算ノードに転送します。

    この例では、SCPユーティリティを使用してネットワーク経由でダンプ・ファイルをコピーします。

    1. ターゲットExadata Cloud Machine計算ノードで、ダンプ・ファイルのコピー先のディレクトリを作成します。

      転送するファイルのサイズに基づいて適切な場所を選択します。

      $ mkdir /u01/app/oracle/admin/ORCL/dpdump/from_source
      
    2. scpコマンドを使用してエクスポート・ダンプ・ファイルをコピーする前に、ターゲットExadata Cloud Machine計算ノードへのアクセスを提供するSSH秘密鍵がソース・ホストで使用可能であることを確認します。 SSH鍵の詳細は、Exadata Cloud Machineへのネットワーク・アクセスについてを参照してください。

    3. ソース・データベース・ホストでSCPユーティリティを使用してダンプ・ファイルをターゲットExadata Cloud Machine計算ノードに転送します。

      $ scp –i private_key_file \
      /u01/app/oracle/admin/orcl/dpdump/for_cloud/expdat.dmp \
      oracle@compute_node_IP_address:/u01/app/oracle/admin/ORCL/dpdump/from_source
      
  3. ターゲットExadata Cloud Machine計算ノードでData Pump Importを起動し、データをデータベースにインポートします。

    1. Exadata Cloud Machine計算ノードでSQL*Plusを起動し、SYSTEMユーザーとしてデータベースにログインします。

      $ sqlplus system
      Enter password: <enter the password for the SYSTEM user>
      
    2. ディレクトリ・オブジェクトをExadata Cloud Machineデータベースに作成します。

      SQL> CREATE DIRECTORY dp_from_source AS '/u01/app/oracle/admin/ORCL/dpdump/from_source';
      
    3. 存在しない場合、インポートされるオブジェクトの表領域を作成します。

    4. SQL*Plusを終了します。

    5. Exadata Cloud Machine計算ノードでData Pump Importを起動し、データベースに接続します。 データをデータベースにインポートします。

      $ impdp system SCHEMAS=fsowner DIRECTORY=dp_from_source
      
  4. データが正常にインポートされたことを確認したら、expdat.dmpファイルを削除できます。