ヘッダーをスキップ

Oracle Databaseユーティリティ
11g リリース1(11.1)

E05768-02
目次
目次
索引
索引

戻る 次へ

1 Oracle Data Pumpの概要

Oracle Data Pumpテクノロジを使用すると、データおよびメタデータをデータベース間で非常に高速に移動できます。

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

データ・ポンプのコンポーネント

Oracle Data Pumpは、次の3つの要素で構成されています。

データ・ポンプ・クライアントであるexpdpおよびimpdpは、それぞれデータ・ポンプ・エクスポート・ユーティリティおよびデータ・ポンプ・インポート・ユーティリティを起動します。これらのユーティリティでは、オリジナルのエクスポート・ユーティリティ(exp)およびインポート・ユーティリティ(imp)とほぼ同じユーザー・インタフェースが提供されます。


注意:

データ・ポンプ・エクスポート・ユーティリティで生成されるダンプ・ファイルと、オリジナルのエクスポート・ユーティリティで生成されたダンプ・ファイルには互換性がありません。そのため、オリジナルのエクスポート・ユーティリティ(exp)で生成されたファイルは、データ・ポンプ・インポート(impdp)ユーティリティではインポートできません。

ほとんどの場合、データ・ポンプ・エクスポート・ユーティリティおよびデータ・ポンプ・インポート・ユーティリティを使用することをお薦めします。これらの使用では、オリジナルのエクスポート・ユーティリティおよびインポート・ユーティリティと比較すると、データ移動のパフォーマンスが向上します。

オリジナルのエクスポートおよびインポート・ユーティリティを使用する必要がある場合については、第20章「オリジナルのエクスポートおよびインポート」を参照してください。 


expdpクライアントおよびimpdpクライアントでは、コマンドラインで入力されたパラメータを使用してエクスポートおよびインポートを実行するために、PL/SQLパッケージDBMS_DATAPUMPで提供されているプロシージャを使用します。これらのパラメータは、完全なデータベースまたはデータベースのサブセットに対するデータおよびメタデータをエクスポートおよびインポート可能にします。

メタデータを移動する場合、データ・ポンプでは、PL/SQLパッケージDBMS_METADATAで提供される機能が使用されます。DBMS_METADATAパッケージは、ディクショナリのメタデータの抽出、操作および再送信に関する集中的な機能を提供します。

DBMS_DATAPUMPおよびDBMS_METADATAの2つのPL/SQLパッケージは、データ・ポンプ・クライアントとは別に使用できます。


注意:

ダンプ・ファイルの読取りおよび書込みを含むすべてのデータ・ポンプ・エクスポートおよびデータ・ポンプ・インポートの処理は、指定したデータベース接続文字列によって選択されるシステム(サーバー)上で実行されます。つまり、ユーザーに権限がない場合は、データベース管理者(DBA)が、そのサーバーのファイル・システムで読取りおよび書込みが実行されるデータ・ポンプ・ファイル用のディレクトリ・オブジェクトを作成する必要があります。特権ユーザーは、デフォルトのディレクトリ・オブジェクトを使用できます。ディレクトリ・オブジェクトの詳細は、「ダンプ・ファイル、ログ・ファイルおよびSQLファイルのデフォルトの位置」を参照してください。 



注意:

フィジカル・スタンバイ・データベースまたはロジカル・スタンバイ・データベースで、データ・ポンプ・エクスポートおよびデータ・ポンプ・インポートはサポートされていません(ロジカル・スタンバイでの最初の表のインスタンス化を除く)。 


参照:

DBMS_DATAPUMPおよびDBMS_METADATAパッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。 

データ・ポンプによるデータの移動方法

データ・ポンプでは、データベースの内外へのデータ移動に、4つのメカニズムを使用します。次に、それらを速度の速い順に示します。

次の項では、これらのデータ移動の各メカニズムの使用方法と、どの場合に使用するかを簡単に説明します。

データ・ファイル・コピーを使用したデータ移動

最も高速なデータ移動の方法は、データベースのデータ・ファイルを、データの解析や変更を行わずに、ターゲット・データベースにコピーすることです。この方法では、データ・ポンプ・エクスポートを使用して、構造的な情報(メタデータ)のみをダンプ・ファイルにアンロードします。この方法は、次のような場合に使用します。

エクスポート操作でデータ・ファイル・コピーが使用されている場合、対応するインポート・ジョブでも常にデータ・ファイル・コピーが使用されます。その後のインポート操作時には、データ・ファイルとエクスポート・ダンプ・ファイルの両方がロードされます。

データ・ファイル・コピーの使用によるデータ移動では、ソース・データベースとターゲット・データベースの両方でキャラクタ・セットが同一である必要があります。したがって、データをコピーするのに加え、Recovery Manager(RMAN)のCONVERTコマンドを使用していくつかのデータ変換を実行し、準備することが必要な場合があります。これは、通常、ソース・データベースまたはターゲット・データベースのいずれかで実行できます。

参照:

  • Recovery ManagerのCONVERTコマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。

  • データベース間で行う表領域の転送の詳細および例(データの変換方法を含む)は、『Oracle Database管理者ガイド』を参照してください。

 

ダイレクト・パスを使用したデータ移動

ダイレクト・パスは、データ・ファイル・コピーの次に高速なデータ移動方法です。この方法では、データベースのSQLレイヤーはバイパスされ、最小限の解析のみで行の移動がダンプ・ファイル間で行われます。データ・ポンプでは、データをロードおよびアンロードするのに、表の構造上可能な場合は、自動的にダイレクト・パスによる方法が使用されます。表にLONGデータ型の列が含まれる場合は、ダイレクト・パスを使用する必要があります。

次の項では、ロードおよびアンロードに、ダイレクト・パスを使用できない場合について説明します。

ダイレクト・パス・ロードが使用されない場合

表が次に示すいずれかの条件に該当する場合、データ・ポンプでは、その表へのデータのロードにダイレクト・パスではなく外部表による方法が使用されます。

ダイレクト・パス・アンロードが使用されない場合

表が次に示すいずれかの条件に該当する場合、データ・ポンプでは、その表のデータのアンロードにダイレクト・パスではなく外部表による方法が使用されます。

外部表を使用したデータ移動

データ・ファイル・コピーが選択されず、ダイレクト・パスでデータを移動できない場合、外部表によるメカニズムが使用されます。外部表によるメカニズムでは、データベース表のダンプ・ファイル・データにマップする外部表が作成されます。その後、SQLエンジンを使用してデータが移動されます。可能な場合は、インポート時にAPPENDヒントが使用されて、データベースへのデータのコピーが高速化されます。ダイレクト・パス・データと外部表データは、ダンプ・ファイル内で同様に表示されます。したがって、データ・ポンプでは、エクスポート時にはダイレクト・パスによるメカニズムが使用されても、ターゲット・データベースへのデータのインポート時には外部表が使用される場合があります。同様に、データ・ポンプでは、エクスポートに外部表、インポートにダイレクト・パスが使用される場合もあります。

特に、データ・ポンプでは、次のような場合に外部表が使用されます。

エクスポート操作のネットワーク・リンクの指定にNETWORK_LINKエクスポート・パラメータが使用されている場合、外部表による方法の変形が使用されます。この場合、データは、指定したネットワーク・リンク全体から選択され、外部表を使用してダンプ・ファイルに挿入されます。

参照:

  • NETWORK_LINKエクスポート・パラメータの使用方法の詳細は、「NETWORK_LINK」を参照してください。

  • APPENDヒントの使用方法の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

 

ネットワーク・リンク・インポートを使用したデータ移動

インポート操作のネットワーク・リンクの指定にNETWORK_LINKインポート・パラメータが使用されている場合、SQLが直接使用され、INSERT SELECT文によりデータが移動されます。SELECT句は、ネットワーク・リンク上のリモート・データベースからデータを取得します。INSERT句はSQLを使用してデータをターゲット・データベースに挿入します。ダンプ・ファイルは含まれません。

データベース・リンクを介してエクスポートを実行すると、ソース・データベース・インスタンスのデータは、接続されたデータベース・インスタンスのダンプ・ファイルに書き込まれます。ソース・データベースは、読取り専用データベースである場合があります。

リンクとは、ネットワーク接続されたリモートのデータベースを示すため、データベース・リンクおよびネットワーク・リンクという用語は、同じ意味で使用されます。

ネットワーク全体からの読取りは、通常、ディスクからの読取りよりも時間がかかるため、ネットワーク・リンクは、データ・ポンプで使用する4つのアクセス方法のうちで最も低速です。大規模なジョブへの使用はお薦めしません。

サポートされるリンク・タイプ

データ・ポンプ・エクスポートおよびデータ・ポンプ・インポートでは、次のタイプのデータベース・リンクの使用がサポートされています。

サポートされていないリンク・タイプ

データ・ポンプ・エクスポートおよびデータ・ポンプ・インポートでは、現在のユーザーのデータベース・リンク・タイプの使用はサポートされません。

参照:

  • データベース・リンクを介したエクスポートの実行の詳細は、NETWORK_LINKエクスポート・パラメータを参照してください。

  • データベース・リンクを介したインポートの実行の詳細は、NETWORK_LINKインポート・パラメータを参照してください。

  • データベース・リンクの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

 

データ・ポンプ・ジョブ実行中に行われる処理

データ・ポンプ・ジョブでは、マスター表、マスター・プロセス、ワーカー・プロセスを使用して、処理が実行され、進捗状況が追跡されます。

ジョブの調整

すべてのデータ・ポンプ・エクスポート・ジョブおよびデータ・ポンプ・インポート・ジョブに対して、マスター・プロセスが作成されます。マスター・プロセスによって、ジョブ全体(クライアントとの通信、ワーカー・プロセス・プールの作成および制御、ロギング操作の実行など)が制御されます。

ジョブ内での進捗状況の追跡

データおよびメタデータの転送中、ジョブ内の進捗状況の追跡にマスター表が使用されます。マスター表は、ユーザー表としてデータベース内に実装されます。また、エクスポート・ジョブおよびインポート・ジョブ用のマスター表固有の機能は、次のとおりです。

マスター表は、エクスポートまたはインポート操作を実行している現在のユーザーのスキーマ内に作成されます。そのため、このユーザーには、CREATE TABLEシステム権限およびマスター表を作成するための十分な表領域の割当て制限が必要です。マスター表の名前は、その表を作成したジョブと同じ名前になります。したがって、データ・ポンプ・ジョブに、既存の表またはビューと同じ名前を明示的には指定できません。

すべての操作で、ジョブの再起動にマスター表の情報が使用されます。

マスター表は、状況に応じて、次のとおり保持または削除されます。

ジョブ実行中のデータおよびメタデータのフィルタ処理

マスター表内では、名前や自分のスキーマなどの属性が特定のオブジェクトに割り当てられます。オブジェクトは、オブジェクトのクラス(TABLEINDEXDIRECTORYなど)にも属します。オブジェクトのクラスは、オブジェクトのオブジェクト型と呼ばれます。EXCLUDEおよびINCLUDEパラメータを使用して、エクスポートまたはインポートされるオブジェクト型を制限できます。オブジェクトの名前またはオブジェクトを自分のスキーマの名前に基づいて、制限するオブジェクトを指定できます。データ固有のフィルタを指定して、エクスポートおよびインポートする行を制限することもできます。

参照:

 

ジョブ実行中のメタデータの変換

データベース間でデータを移動する場合は、表領域間で記憶域を再マップしたり、特定のオブジェクトの所有者を再定義するために、メタデータの変換を実行すると有効です。これは、データ・ポンプ・インポート・パラメータのREMAP_DATAFILEREMAP_SCHEMAREMAP_TABLEREMAP_TABLESPACETRANSFORMおよびPARTITION_OPTIONSを使用して実行されます。

ジョブ・パフォーマンスの最大化

データ・ポンプでは、複数のワーカー・プロセスを採用し、それらをパラレルに実行して、ジョブのパフォーマンスを向上させることができます。PARALLELパラメータを使用して、現状の環境で最大限の効果を得る並列度を設定します。たとえば、本番システムへのジョブの影響を制限する場合、データベース管理者(DBA)は並列度を制限する必要があります。並列度は、ジョブの実行中いつでも再設定できます。たとえば、運用時間中は特定のジョブの並列度が2に制限されるようにPARALLELを2に設定し、非運用時間中は8に再設定することができます。並列度の設定は、マスター・プロセスによって施行され、マスター・プロセスによって、1回の操作でデータおよびメタデータの処理を実行するワーカー・プロセスに、実行対象の処理が割り当てられます。これらのワーカー・プロセスは、パラレルで動作します。通常、並列度は、インスタンス上のCPUの数の2倍を超えないように設定してください。


注意:

並列度を調整する機能は、Oracle DatabaseのEnterprise Editionでのみ使用可能です。 


データのロードおよびアンロード

ワーカー・プロセスとは、メタデータおよび表データを実際にパラレルでロードおよびアンロードするプロセスです。ワーカー・プロセスは、コマンドライン・パラメータPARALLELに指定した値と同数になるまで必要に応じて作成されます。アクティブなワーカー・プロセスの数は、ジョブの存続期間中いつでも再設定できます。


注意:

Oracle DatabaseのStandard Editionでは、PARALLELの値は1に制限されています。 


非常に大きい表またはパーティションをロードまたはアンロードするタスクがワーカー・プロセスに割り当てられた場合、パラレル実行を最大限に利用できるように、外部表によるアクセス方法が使用されることがあります。その場合、ワーカー・プロセスはパラレル実行コーディネータになります。実際のロードおよびアンロード処理は、パラレルI/Oの実行プロセスのOracle RAC全体のプールから割り当てられたパラレルI/Oの実行プロセス(スレーブとも呼ばれる)間で分割されます。

参照:

 

ジョブの状態の監視

データ・ポンプ・エクスポートおよびインポート・ユーティリティでは、対話方式コマンド・モードまたはロギング・モードのいずれでも、ジョブに接続できます。ロギング・モードでは、ジョブの実行中に、そのジョブの詳細な状態がリアルタイムで自動的に表示されます。表示される情報には、ジョブおよびパラメータの説明、エクスポートされるデータ量の推定、現在の操作または処理中のアイテムの説明、ジョブで使用されるファイル、発生したエラーおよび最終的なジョブの状態(停止または完了)があります。

参照:

  • コマンドライン・エクスポートでの状態表示の頻度を変更する方法については、STATUSエクスポート・パラメータを参照してください。

  • コマンドライン・インポートでの状態表示の頻度を変更する方法については、STATUSインポート・パラメータを参照してください。

 

ジョブの状態は、対話方式コマンド・モードでのリクエストで表示できます。表示される情報には、ジョブの説明および状態、現在の操作または処理中のアイテムの説明、書込み中のファイルおよび累積的な状態があります。

参照:

  • 対話方式のSTATUSエクスポート・コマンドの詳細は、「STATUS」を参照してください。

  • 対話方式のSTATUSインポート・コマンドの詳細は、「STATUS」を参照してください。

 

オプションで、ジョブの実行中にログ・ファイルの書込みを行うこともできます。ログ・ファイルには、ジョブの進捗状況のサマリーが記録され、処理中に発生したエラーがリストされ、ジョブの完了状態が記録されます。

参照:

  • エクスポート・ログ・ファイルのファイル指定を設定する方法については、LOGFILEエクスポート・パラメータを参照してください。

  • インポート・ログ・ファイルのファイル指定を設定する方法については、LOGFILEインポート・パラメータを参照してください。

 

ジョブの状態を判断したり、データ・ポンプ・ジョブについての情報を表示するには、DBA_DATAPUMP_JOBSビュー、USER_DATAPUMP_JOBSビューまたはDBA_DATAPUMP_SESSIONSビューを問い合せる方法もあります。これらのビューの説明は、『Oracle Databaseリファレンス』を参照してください。

ジョブの実行状況の監視

表データの転送を行うデータ・ポンプ操作(エクスポートおよびインポート)では、ジョブの進捗状況(単位は、転送された表データのメガバイト数)を示す動的パフォーマンス・ビューV$SESSION_LONGOPSのエントリが保持されます。このエントリは、転送の推定サイズを含み、実際に転送されたデータの量が反映されるように定期的に更新されます。

COMPRESSIONENCRYPTIONENCRYPTION_ALGORITHMENCRYPTION_MODEENCRYPTION_PASSWORDQUERYREMAP_DATA、およびSAMPLEパラメータの使用は、推定値の決定に反映されません。

エクスポート操作の推定値が有効かどうかは、操作開始時に要求された推定のタイプによって異なります。この値は、実際の転送量を超えた場合に必要に応じて更新されます。インポート操作の推定値は、厳密な値です。

データ・ポンプ・ジョブに関連するV$SESSION_LONGOPS列は、次のとおりです。

ファイルの割当て

データ・ポンプ・ジョブは、次のタイプのファイルを管理します。

データ・ポンプでのこれらのファイルの割当て方法および処理方法を理解すると、エクスポート・ユーティリティおよびインポート・ユーティリティを最大限に利用できます。

ファイルの指定およびダンプ・ファイルの追加

エクスポート操作の場合、ダンプ・ファイルは、ジョブの定義時およびエクスポート操作の後の段階で指定できます。たとえば、エクスポート操作中に領域が不足した場合は、データ・ポンプ・エクスポート・ユーティリティのADD_FILEコマンドを対話方式モードで使用して、追加ダンプ・ファイルを追加できます。

インポート操作の場合、ジョブの定義時にすべてのダンプ・ファイルを指定する必要があります。

既存のファイルは、ログ・ファイルおよびSQLファイルによって上書きされます。ダンプ・ファイルの場合は、REUSE_DUMPFILESエクスポート・パラメータを使用して、既存のダンプ・ファイルを上書きするかどうかを指定できます。

ダンプ・ファイル、ログ・ファイルおよびSQLファイルのデフォルトの位置

データ・ポンプは、クライアント・ベースではなく、サーバー・ベースであるため、ダンプ・ファイル、ログ・ファイルおよびSQLファイルには、サーバー・ベースのディレクトリ・パスを基準としてアクセスします。データ・ポンプでは、ディレクトリ・パスをディレクトリ・オブジェクトとして指定する必要があります。ディレクトリ・オブジェクトは、ファイル・システムのディレクトリ・パスに名前をマップします。

たとえば、次のSQL文は、/usr/apps/datafilesにあるディレクトリにマップされるdpump_dir1というディレクトリ・オブジェクトを作成します。

SQL> CREATE DIRECTORY dpump_dir1 AS '/usr/apps/datafiles';

ディレクトリ・オブジェクトは、データのセキュリティおよび整合性を確保するために必要です。次に例を示します。

UNIXおよびWindows NTシステムの場合、デフォルトのディレクトリ・オブジェクトDATA_PUMP_DIRは、データベースが作成されるとき、またはデータベース・ディレクトリがアップグレードされるたびに作成されます。デフォルトでは、特権ユーザーのみが使用できます。

権限のないユーザーの場合、データ・ポンプのエクスポート・ユーティリティまたはインポート・ユーティリティを実行できるようにするには、データベース管理者(DBA)またはCREATE ANY DIRECTORY権限を持つユーザーがディレクトリ・オブジェクトを作成する必要があります。

ディレクトリの作成後、ディレクトリ・オブジェクトを作成するユーザーは、そのディレクトリに対するREAD権限またはWRITE権限を他のユーザーに付与する必要があります。たとえば、dpump_dir1で指定されたディレクトリのユーザーhrのかわりに、Oracle Databaseがファイルを読取りまたは書込みできるようにするには、DBAが次のコマンドを実行する必要があります。

SQL> GRANT READ, WRITE ON DIRECTORY dpump_dir1 TO hr;

ディレクトリ・オブジェクトに対するREAD権限またはWRITE権限は、Oracle Databaseによってそのファイルの読取りまたは書込みのみが実行されることを意味します。適切なオペレーティング・システム権限がないかぎり、Oracle Databaseの外部にあるファイルには直接アクセスできません。同様に、Oracle Databaseには、ディレクトリのファイルに対して読取りおよび書込みを行うオペレーティング・システム権限が必要です。

データ・ポンプ・エクスポートおよびインポート・ユーティリティでは、次の順序でファイルの位置が判断されます。

  1. ディレクトリ・オブジェクトがファイル指定の一部として指定されている場合は、そのディレクトリ・オブジェクトで指定された位置が使用されます。(ディレクトリ・オブジェクトとファイル名は、コロンで区切る必要があります。)

  2. ファイルにディレクトリ・オブジェクトが指定されていない場合は、DIRECTORYパラメータで指定されたディレクトリ・オブジェクトが使用されます。

  3. ディレクトリ・オブジェクトが指定されていない場合、およびDIRECTORYパラメータでディレクトリ・オブジェクトが指定されていない場合は、環境変数DATA_PUMP_DIRの値が使用されます。この環境変数は、データ・ポンプ・エクスポートおよびインポート・ユーティリティが実行されるクライアント・システムで、オペレーティング・システム・コマンドを使用して定義されます。このクライアント・ベースの環境変数には、DBAがサーバー・システムで最初に作成するサーバー・ベースのディレクトリ・オブジェクトの名前を割り当てる必要があります。たとえば、次のSQL文では、サーバー・システムにディレクトリ・オブジェクトが作成されます。このディレクトリ・オブジェクトの名前はDUMP_FILES1で、位置は '/usr/apps/dumpfiles1'です。

    SQL> CREATE DIRECTORY DUMP_FILES1 AS '/usr/apps/dumpfiles1';
    
    

    cshを使用しているUNIXベースのクライアント・システムのユーザーは、環境変数DATA_PUMP_DIRに、値DUMP_FILES1を割り当てることができます。コマンドラインでは、DIRECTORYパラメータは省略できます。ダンプ・ファイルemployees.dmpは、ログ・ファイルexport.logと同様、 '/usr/apps/dumpfiles1'に書き込まれます。

    %setenv DATA_PUMP_DIR DUMP_FILES1
    %expdp hr TABLES=employees DUMPFILE=employees.dmp
    
    
  4. 前述の3つの条件では、ディレクトリ・オブジェクトの位置を判断できない場合、特権ユーザーであれば、データ・ポンプはデフォルトのサーバー・ベースのディレクトリ・オブジェクトDATA_PUMP_DIRの値を試行します。このディレクトリ・オブジェクトは、データベースが作成されるとき、またはデータベース・ディレクトリがアップグレードされるたびに自動的に作成されます。DATA_PUMP_DIRのパス定義は、次のSQL問合せを使用して確認できます。

    SQL> SELECT directory_name, directory_path FROM dba_directories
    2 WHERE directory_name='DATA_PUMP_DIR';
    
    

    特権ユーザーでない場合は、DATA_PUMP_DIRディレクトリ・オブジェクトへのアクセス権限が、DBAによって事前に付与されている必要があります。

    デフォルトのDATA_PUMP_DIRディレクトリ・オブジェクトと、同じ名前のクライアント・ベースの環境変数とを混同しないでください。

自動ストレージ管理を使用可能にした場合のディレクトリ・オブジェクトの使用方法

自動ストレージ管理(ASM)を使用可能にしてデータ・ポンプ・エクスポート・ユーティリティまたはインポート・ユーティリティを使用する場合は、オペレーティング・システムのディレクトリ・パスではなくASMディスク・グループ名が使用されるように、ダンプ・ファイルで使用されるディレクトリ・オブジェクトを定義する必要があります。オペレーティング・システムのディレクトリ・パスを示す、別のディレクトリ・オブジェクトがログ・ファイルに使用される必要があります。たとえば、ASMダンプ・ファイルのディレクトリ・オブジェクトは、次のように作成します。

SQL> CREATE or REPLACE DIRECTORY dpump_dir as '+DATAFILES/';

ログ・ファイル用の個別のディレクトリ・オブジェクトは、次のように作成します。

SQL> CREATE or REPLACE DIRECTORY dpump_log as '/homedir/user1/';

ユーザーhrに、これらのディレクトリ・オブジェクトに対するアクセス権を付与する場合は、次に示すように、必要な権限を割り当てます。

SQL> GRANT READ, WRITE ON DIRECTORY dpump_dir TO hr;
SQL> GRANT READ, WRITE ON DIRECTORY dpump_log TO hr;

この後に、次のデータ・ポンプ・エクスポート・ユーティリティのコマンドを使用します(パスワードを入力するように要求されます)。

> expdp hr DIRECTORY=dpump_dir DUMPFILE=hr.dmp LOGFILE=dpump_log:hr.log

参照:

  • DIRECTORYエクスポート・パラメータの詳細は、「DIRECTORY」を参照してください。

  • DIRECTORYインポート・パラメータの詳細は、「DIRECTORY」を参照してください。

  • CREATE DIRECTORYコマンドの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • 自動ストレージ管理(ASM)の詳細は、『Oracle Database管理者ガイド』を参照してください。

 

並列度の設定

エクスポートおよびインポート操作では、並列度を、ダンプ・ファイル・セット内のダンプ・ファイル数以下に設定(PARALLELパラメータで指定)する必要があります。ダンプ・ファイル数が不足すると、複数の実行スレッドが同じダンプ・ファイルへアクセスしようとするため、最適なパフォーマンスは得られません。

PARALLELパラメータは、Oracle DatabaseのEnterprise Editionでのみ有効です。

置換変数の使用方法

エクスポート操作で、特定のファイル名を指定するかわりに、または指定したうえで、ファイル名に置換変数(%U)を使用してDUMPFILEパラメータで複数のダンプ・ファイルを指定できます。これは、ダンプ・ファイル・テンプレートと呼ばれます。新しいダンプ・ファイルは、01%Uに対応)から0203の順で、必要に応じて作成されます。PARALLELパラメータの現行の設定で指定されたすべてのプロセスをアクティブにできるように、十分な数のダンプ・ファイルが作成されます。FILESIZEパラメータで指定した最大サイズに達したためにダンプ・ファイルが一杯になると、ダンプ・ファイルはクローズされ、新しく生成された名前を持つ新しいダンプ・ファイルが、それにかわるファイルとして作成されます。

複数のダンプ・ファイル・テンプレートが提供されている場合、これらのテンプレートは、ラウンドロビン法によるダンプ・ファイルの生成に使用されます。たとえば、並列度6のジョブに、expa%Uexpb%Uおよびexpc%Uがすべて指定された場合、expa01.dmpexpb01.dmpexpc01.dmpexpa02.dmpexpb02.dmpおよび expc02.dmpが初期ダンプ・ファイルとして作成されます。

インポートおよびSQLFILE操作では、ダンプ・ファイル指定expa%Uexpb%Uおよびexpc%Uを指定した場合、ダンプ・ファイルexpa01.dmpexpb01.dmpおよびexpc01.dmpをオープンすると操作が開始されます。マスター表は複数のダンプ・ファイルにまたがることができます。したがって、マスター表のすべての部分が検出されるまで、ダンプ・ファイルは、置換変数の増加および新しいファイル名(expa02.dmpexpb02.dmpexpc02.dmpなど)の検索を行うことによって、オープン状態を継続します。ダンプ・ファイルが存在しない場合は、エラーとなったダンプ・ファイル指定の置換変数の増加が中止されます。たとえば、expb01.dmpおよびexpb02.dmpは検出され、expb03.dmpは検出されなかった場合、expb%U指定を使用したファイルの検索は中止されます。マスター表全体が検出されると、その表を使用して、ダンプ・ファイル・セット内のすべてのダンプ・ファイルの位置が特定されているかどうかを確認できます。

データベース・バージョンが異なる場合のデータ移動

ほとんどのデータ・ポンプ操作はサーバー側で実行されるため、COMPATIBLE以外のバージョンのデータベースを使用する場合は、そのバージョン情報をサーバーに提供する必要があります。指定しない場合は、エラーが発生することがあります。バージョン情報を指定するには、VERSIONパラメータを使用します。

参照:

  • VERSIONエクスポート・パラメータの詳細は、「VERSION」を参照してください。

  • VERSIONインポート・パラメータの詳細は、「VERSION」を参照してください。

 

データ・ポンプのエクスポートおよびインポートを使用して、バージョンが異なるデータベース間でデータを移動する場合は、次の点に注意してください。


戻る 次へ
Oracle
Copyright © 2007 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引