プライマリ・コンテンツに移動
Oracle® Databaseアップグレード・ガイド
12cリリース1 (12.1)
B71306-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

7 Oracle Data Pumpを使用したデータの移行

Oracle Databaseのアップグレードを容易にするために、Oracle Data Pumpのエクスポートおよびインポート・ユーティリティを使用して、1つのデータベースから別のデータベースにデータを移行できます。Oracle Data Pumpでは、高パフォーマンスのエクスポート(expdp)およびインポート(impdp)ユーティリティが提供されています。

この章の内容は次のとおりです。


関連項目:

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

7.1 データの移行でのデータ・ポンプおよびエクスポート/インポートの概要

1つのOracle Databaseから別のデータベースにデータを移行(移動)するための、データ・ポンプ・エクスポートおよびインポートが提供されています。これはOracle Databaseのアップグレード後に便利です。

データ・ポンプには次のような利点があります。

  • オブジェクトおよびオブジェクトの種類に基づいてエクスポートおよびインポートされたメタデータを、INCLUDEおよびEXCLUDEパラメータを使用してフィルタ処理できます。

  • データベースの一部を様々なモード(全体データベース・モード、スキーマ・モード、表モード、表領域モード、トランスポータブル表領域モードなど)でアンロード/ロードできます。(『Oracle Databaseユーティリティ』のデータ・ポンプ・エクスポートのモードおよびデータ・ポンプ・インポートのモードに関する説明を参照してください。)

  • インポート操作中のパーティション表の処理方法を、PARTITION_OPTIONSパラメータを使用して指定できます。

  • 全種類のデータ型がサポートされます。


関連項目:


7.2 Oracle Databaseのアップグレード時のデータ・ポンプを使用したデータの移行

Oracle Databaseソフトウェアをインストールする前にソース・データベースからデータをエクスポートし、その後、アップグレードしたターゲット・データベースにデータをインポートするためにOracle Data Pumpを活用できます。

アップグレード手順でOracle Data Pumpを使用するには、次の手順を実行します。

  1. 現行データベースに付属のエクスポート・ユーティリティを使用して、現行データベースのデータをエクスポートします。現行データベースでのエクスポート・ユーティリティの使用方法の詳細は、現行の『Oracle Databaseユーティリティ』ドキュメントを参照してください。

    一貫性のあるエクスポート結果を得るには、エクスポートの実行中と実行後は現行データベースが更新不可である必要があります。エクスポート実行後にユーザーが現行データベースを更新できるようにする場合は、現行データベースで行われた変更を、インポート完了後に新しいデータベースにコピーするための手順をプロシージャを配置し、その後で現行データベースを使用可能にします。

  2. 新しいOracle Databaseソフトウェアをインストールします。Oracle Databaseのインストール手順は、ご使用のオペレーティング・システム固有のOracleマニュアルを参照してください。オペレーティング・システムの『Oracle Databaseインストレーション・ガイド』を参照してください。

  3. 新しいデータベースに現行データベースと同じ名前を付ける場合は、新しいデータベースを作成する前に現行データベースを停止します。

  4. 新しいデータベースを作成します。


    関連項目:

    データベースの作成の詳細は、『Oracle Database管理者ガイド』を参照してください。

  5. SQL*Plusを新しいOracle Database環境で起動します。

  6. SYSDBA権限を持つユーザーとして、データベース・インスタンスに接続します。

  7. STARTUPを使用してOracle Databaseインスタンスを起動します。

  8. オプションで、ソース・データベースとは異なる記憶域パラメータを指定できます。

    新しいデータベースに表領域、ユーザーおよび表を事前に作成し、記憶域パラメータを変更することにより、ディスク領域の使用状況を改善できます。SQL*Plusを使用して表を事前に作成する場合は、元のデータベースとの互換モードで実行するか、またはインポート中に発生する特定のデータ定義の変換を許可するようにします。

    項目が事前に作成されている場合は、データ・ポンプ・インポートでTABLE_EXISTS_ACTION=APPENDオプションを指定します。


    注意:

    新しいデータベースをソース・データベースと同じコンピュータ上に作成し、ソース・データベースのデータ・ファイルを上書きしない場合は、事前に表領域を作成し、インポート時に次のオプションを指定する必要があります。
    • データ・ポンプ・インポートでREUSE_DATAFILES=Nを指定

      ダンプ・ファイル・セット内の古い名前に対する参照が、競合しない新しい名前にマップしなおされるように、REMAP_DATAFILE、REMAP_TABLESPACEおよびREMAP_TABLEオプションの使用を、必要に応じて検討します。

    • オリジナルのインポート・ユーティリティでDESTROY=Nを指定


  9. 新しいデータベースのインポート・ユーティリティを使用して、現行データベースからエクスポートしたオブジェクトをインポートします。インポート・セッションからファイルに情報メッセージやエラー・メッセージを保存するには、次のようにパラメータを組み込みます。

    • データ・ポンプ・インポートでLOGFILEパラメータを指定

    • オリジナルのインポート・ユーティリティでLOGパラメータを指定


    関連項目:

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

  10. インポート作業が完了したら、正常に終了した特定のオブジェクトのインポートに関する情報を、インポート・ログ・ファイルで確認します。失敗したものがある場合は、失敗したオブジェクトに関する情報を確認します。


    関連項目:

    • 『Oracle Databaseユーティリティ』

    • 『Oracle Databaseプラットフォーム共通日本語README』


  11. 『Oracle Databaseユーティリティ』に記載されているその他のインポート方法を使用するか、またはデータベース・オブジェクトを作成するSQLスクリプトを使用して、インポートに失敗したオブジェクトをクリーンアップします(または、完全に新規のインポートを開始します)。


    注意:

    データ・ポンプ・エクスポートまたはインポートのジョブでリカバリ不能なエラーが発生した場合は、エラーの原因となった条件を修正した後でジョブを再起動できます。ジョブは、エラーが発生した箇所から自動的に続行されます。

  12. エクスポートの実行後に現行データベースに変更を加える場合は、ユーザーに使用可能にする前に、それらの変更が新しいデータベースに伝播されるようにします。この手順の手順1を参照してください。

  13. 第4章「Oracle Databaseのアップグレード後の作業」に示す手順を実行します。

7.2.1 ネットワーク・リンクを使用したOracle Database全体のインポート

データベース・リンクを介してデータ・ポンプ・インポート・ユーティリティを使用して、中間ダンプ・ファイルなしでソース・データベースからインポート先データベースへデータベース全体のインポートを実行できます。この方法は、「Oracle Databaseのアップグレード時のData Pumpを使用したデータの移行」にかわる手順です。


注意:

相互運用性のエラーを回避するために、アップグレードするデータベースに適切なパッチ・セットが適用されていることを確認します。最新のパッチ・セットを取得するには、My Oracle Support(http://support.oracle.com)を参照してください。

また、サポート・ノートID 4511371.8で、ORA-6544およびORA-4052エラーに関する説明を参照することもできます。


データ・ポンプ・インポート・ユーティリティ(impdp)でネットワーク・リンクを使用するには、次の手順を実行します。

  1. ソース・データベースでエクスポートを実行するユーザーにDATAPUMP_EXP_FULL_DATABASEロールがあることを確認します。

    データベース・リンク作成時に、このユーザーを指定する必要があります。

  2. インポート先データベースでインポートを実行するユーザーにDATAPUMP_IMP_FULL_DATABASEロールがあることを確認します。

  3. ソース・データベースとインポート先データベースとの間にデータベース・リンクを作成してテストします。

  4. 次のコマンドを実行します。import_userはインポートを実行するユーザーのユーザー名で、db_linkはエクスポートを実行するユーザーが所有するデータベース・リンクの名前です。

    IMPDP import_user NETWORK_LINK=db_link FULL=Y;
    
  5. インポート操作のログ・ファイルが、DATA_PUMP_DIRディレクトリに書き込まれます。このディレクトリの場所は、次のコマンドを実行して検出できます。

    SQL> select * from dba_directories where DIRECTORY_NAME like 'DATA_PUMP_DIR';
    

    注意:

    XMLオブジェクトはソース・データベースからエクスポートされません。


    関連項目:

    データベース・リンクを使用したデータ・ポンプ・インポートの詳細は、My Oracle Support (http://support.oracle.com)のNote 466181.1を参照してください。


注意:

インポート操作によって新しいインポート先サーバーにユーザーが再作成され、dba_usersの作成日付は実際のインポート日付を示します。有効期限は、creation_date + password_life_timeに更新されます。新しいサーバーの上のdba_usersのパラメータは、インポート元サーバーの上のdba_usersパラメータとは異なります。

7.3 Oracle Databaseのダウングレード時のデータ・ポンプの要件

ダウングレード処理でData Pumpを使用すると、ダウングレードするOracle Databaseリリースを最大で1つ前のリリースにできます。

データ・ポンプ・エクスポートを使用して下位互換性のあるダンプ・ファイルを取得するには、次を行います。

  • 現行のリリースでデータ・ポンプ・エクスポート・ユーティリティを使用し、VERSIONパラメータをダウングレードする以前のターゲットのリリースに設定します。

    データ・ポンプ・インポートは、現在のデータベース・リリースより後のデータベース・リリースで作成されたダンプ・ファイル・セットを読み込むことができません(ただし、読み込むダンプ・ファイル・セットが、VERSIONパラメータをターゲット・データベースのリリース番号に設定して作成されている場合は除きます)。したがって、ダウングレードを行う際の最適な方法は、VERSIONパラメータをダウングレードするターゲット・データベースのリリース番号に設定して、データ・ポンプ・エクスポートを使用することです。


    関連項目:

    VERSIONパラメータの使用方法の詳細は、『Oracle Databaseユーティリティ』を参照してください。