ヘッダーをスキップ

Oracle Database ユーティリティ
10g リリース2(10.2)

B19211-01
目次
目次
索引
索引

戻る 次へ

3 Data Pump Import

この章では、Oracle Data Pump Importユーティリティについて説明します。この章の内容は、次のとおりです。

Data Pump Importユーティリティとは


注意:

Data Pump Import(impdpコマンドで起動)は、Oracle Database 10g から導入された新しいユーティリティです。このユーティリティの機能とパラメータは、オリジナルのインポート・ユーティリティ(imp)と類似していますが、これらは完全に別のユーティリティであり、これらのファイルは互換性がありません。オリジナルのインポート・ユーティリティの詳細は、第19章「オリジナルのエクスポートおよびインポート」を参照してください。 


Data Pump Import(以降、Importユーティリティと呼びます)は、エクスポート・ダンプ・ファイル・セットをターゲット・システムにロードするためのユーティリティです。ダンプ・ファイル・セットは、表データ、データベース・オブジェクトのメタデータ、制御情報を含む1つ以上のディスク・ファイルで構成されています。これらのファイルは独自のバイナリ形式で書き込まれています。Data Pump Importユーティリティは、インポート操作中、これらのファイルを使用してダンプ・ファイル・セット内の各データベース・オブジェクトの位置を特定します。

また、ダンプ・ファイルを介さずに、ソース・データベースから直接ターゲット・データベースをロードするために使用することもできます。これによって、エクスポートおよびインポート操作を同時に実行でき、操作にかかる時間を最小限にできます。これはネットワーク・インポートと呼ばれます。

Data Pump Importユーティリティでは、インポート・モードで設定されているとおりにジョブによって、データおよびメタデータのサブセットが、ダンプ・ファイル・セットまたはソース・データベース(ネットワーク・インポートの場合)から移動されるように指定できます。この指定は、Importユーティリティのコマンドによって実装されるデータ・フィルタおよびメタデータ・フィルタを使用して行います。詳細は、「インポート操作中のフィルタ処理」を参照してください。

Importを使用できる様々な方法の例については、「Data Pump Importの使用例」を参照してください。

Data Pump Importの起動

Data Pump Importユーティリティは、impdpコマンドを使用して起動します。インポート操作の特性は、指定するインポート・パラメータによって決定されます。これらのパラメータは、コマンドラインまたはパラメータ・ファイルのいずれかで指定できます。


注意:

Importユーティリティは、オラクル社カスタマ・サポート・センターから要求された場合以外、SYSDBAとして起動しないでください。SYSDBAは内部的に使用され、一般ユーザーとは異なる特別な機能を持ちます。 



注意:

NOLOGGING句を有効にして作成された表または表領域に対してData Pump Importを実行する場合でも、REDOログ・ファイルが生成される場合があることに注意してください。このような場合に生成されるREDOは、通常、基礎となる再帰的領域トランザクション、データ・ディクショナリの変更、およびロギングを必要とする表の索引メンテナンスに関係しています。 


Importユーティリティの起動の詳細は、次の項を参照してください。

Data Pump Importのインタフェース

Data Pump Importは、コマンドライン、パラメータ・ファイルまたは対話方式コマンド・モードを使用して実行できます。

Data Pump Importのモード

インポート操作の重要な特性の1つはモードです。これは、インポートされる内容の大部分がモードによって決定されるためです。指定したモードは、操作のソース(ダンプ・ファイル・セットまたはNETWORK_LINKパラメータが指定されている場合は別のデータベース)に適用されます。

インポート操作のソースがダンプ・ファイル・セットの場合、モードの指定はオプションです。モードを指定していない場合、Importユーティリティは、エクスポート操作実行時のモードでダンプ・ファイル・セット全体をロードしようとします。

モードは、適切なパラメータを使用してコマンドラインで指定します。使用可能なモードは次のとおりです。

全体インポート・モード

全体インポートは、FULLパラメータを使用して指定します。全体インポート・モードでは、ソース(ダンプ・ファイル・セットまたは別のデータベース)の全内容がターゲット・データベースにロードされます。これは、ファイル・ベース・インポートのデフォルトです。ソースが別のデータベースの場合は、IMP_FULL_DATABASEロールが必要です。

権限のないユーザーの場合、相互スキーマ参照はインポートされません。たとえば、インポートを実行するユーザーのスキーマ内の表にトリガーが定義されていても、そのトリガーが別のユーザーのスキーマに存在している場合はインポートされません。

NETWORK_LINKパラメータを完全インポートに使用する場合は、ターゲット・データベースではIMP_FULL_DATABASEロールが必要で、ソース・データベースではEXP_FULL_DATABASEロールが必要です。

参照:

「FULL」 

スキーマ・モード

スキーマ・インポートは、SCHEMASパラメータを使用して指定します。スキーマ・インポートでは、指定されたスキーマが所有しているオブジェクトのみがロードされます。ソースは、全体インポート・モード、表モード、表領域モードまたはスキーマ・モードのエクスポート・ダンプ・ファイル・セット、または別のデータベースです。IMP_FULL_DATABASEロールを所有している場合は、スキーマ・リストを指定できます。これにより、スキーマ内のオブジェクトに加えてスキーマ自体(システム権限を含む)もデータベース内に作成されます。

相互スキーマ参照は、残りのスキーマが現行のスキーマに再マップされないかぎり、権限のないユーザーに対してインポートされません。たとえば、インポートを実行するユーザーのスキーマ内の表にトリガーが定義されていても、そのトリガーが別のユーザーのスキーマに存在している場合はインポートされません。

参照:

「SCHEMAS」 

表モード

表モードのインポートは、TABLESパラメータを使用して指定します。表モードでは、指定した表、パーティションおよびそれらの依存オブジェクトのみがロードされます。ソースは、全体インポート・モード、スキーマ・モード、表領域モードまたは表モードのエクスポート・ダンプ・ファイル・セット、または別のデータベースです。自分のスキーマに存在しない表を指定するには、IMP_FULL_DATABASEロールが必要です。

参照:

「TABLES」 

表領域モード

表領域モードのインポートは、TABLESPACESパラメータを使用して指定します。表領域モードでは、指定した表領域内のすべてのオブジェクトが、依存オブジェクトとともにロードされます。ソースは、全体インポート・モード、スキーマ・モード、表領域モードまたは表モードのエクスポート・ダンプ・ファイル・セット、または別のデータベースです。権限のないユーザーの場合、現行のスキーマに再マッピングされていないオブジェクトは処理されません。

参照:

「TABLESPACES」 

トランスポータブル表領域モード

トランスポータブル表領域インポートは、TRANSPORT_TABLESPACESパラメータを使用して指定します。トランスポータブル表領域モードでは、トランスポータブル表領域エクスポート・ダンプ・ファイル・セットまたは別のデータベースからのメタデータがロードされます。TRANSPORT_DATAFILESパラメータで指定したデータ・ファイルは、ターゲット・データベースで使用するために、通常は、データ・ファイルをターゲット・システムにコピーすることによって、ソース・システムで使用可能にする必要があります。

このモードには、IMP_FULL_DATABASEロールが必要です。


注意:

トランスポータブル表領域をエクスポートした後、それよりも古いリリース・レベルのデータベースにインポートすることはできません。ターゲット・データベースのリリース・レベルは、ソース・データベース以上である必要があります。 


参照:

 

ネットワークに関する考慮点

Data Pump Importユーティリティの起動時、接続文字列には接続識別子を指定できます。この識別子では、現行のOracleシステム識別子(SID)によって指定した現行のインスタンスとは別のデータベース・インスタンスを指定できます。接続識別子には、Oracle*Net接続記述子または接続記述子にマップする名前を指定できます。これには、接続記述子を使用して検索できるアクティブ・リスナー(起動するには、lsnrctl startと入力)が必要です。

次に、ユーザーhrinst1という接続記述子を使用してImportユーティリティを起動する例を示します。

> impdp hr/hr@inst1 DIRECTORY=dpump_dir DUMPFILE=hr.dmp TABLES=employees

ローカルのインポート・クライアントは、接続記述子inst1(通常はtnsnames.oraファイルで定義される単純なネット・サービス名)によって識別されるデータベース・インスタンスに接続し、そのインスタンスのデータをインポートします。

接続識別子を使用したImportユーティリティの起動と、Importコマンドライン・パラメータNETWORK_LINKを指定したインポート操作を混同しないでください。

NETWORK_LINKパラメータは、ネットワーク・インポートを開始します。つまり、impdpクライアントが、インポート要求を開始します。その要求のサーバーは、NETWORK_LINKパラメータのデータベース・リンクで指定されたリモート・ソース・データベースに接続し、そこからデータを取り出して、ローカル・データベースに直接書き込みます。ダンプ・ファイルは含まれません。

参照:

  • 「NETWORK_LINK」

  • 『Oracle Database Net Services管理者ガイド』

  • 『Oracle Database Heterogeneous Connectivity管理者ガイド』

 

インポート操作中のフィルタ処理

Data Pump Importユーティリティで提供されるデータおよびメタデータのフィルタ機能は、オリジナルのインポート・ユーティリティと比較すると大幅に拡張されています。

データ・フィルタ

データ・フィルタは、インポート対象の行に対する制限を指定します。これらの制限は、パーティション名および副問合せの結果に基づいて指定できます。

各データ・フィルタは、表およびジョブごとにそれぞれ1回指定できます。同じ名前を使用する異なるフィルタが特定の表とジョブ全体の両方に適用された場合は、特定の表に対して提供されたフィルタ・パラメータが優先されます。

メタデータ・フィルタ

Data Pump Importユーティリティで提供されるメタデータのフィルタ処理機能は、オリジナルのインポート・ユーティリティと比較すると大幅に拡張されています。メタデータのフィルタ処理は、EXCLUDEおよびINCLUDEパラメータによって実装されます。EXCLUDEおよびINCLUDEは、相互に排他的なパラメータです。

メタデータ・フィルタは、Data Pump操作に含めるか、またはその操作から除外するオブジェクトを識別します。たとえば、パッケージ仕様またはパッケージ本体を含まない全体インポートを要求できます。

フィルタを正しく使用して必要な結果を得た場合は、識別されたオブジェクトの依存オブジェクトも、識別されたオブジェクトとともに処理されます。たとえば、パッケージを操作に含めるようにフィルタで指定すると、そのパッケージに対する権限も含まれます。同様に、フィルタで表を除外すると、その表に対する索引、制約、権限およびトリガーも除外されます。

1つのオブジェクト型に対して複数のフィルタが指定されている場合は、それらのフィルタに対して暗黙的なAND処理が適用されます。つまり、ジョブに関連するオブジェクトは、オブジェクト型に適用されるすべてのフィルタで処理される必要があります。

1つのジョブ内で同一のフィルタ名を複数回指定できます。

DATABASE_EXPORT_OBJECTSSCHEMA_EXPORT_OBJECTSTABLE_EXPORT_OBJECTSビューに対して問合せを実行し、フィルタ処理されるオブジェクトを確認できます。例については、「メタデータ・フィルタ」を参照してください。

参照:

「EXCLUDE」 および「INCLUDE」 

Importユーティリティのコマンドライン・モードで使用可能なパラメータ

この項では、Data Pump Importユーティリティのコマンドライン・モードで使用可能なパラメータについて説明します。ここで説明する内容の多くは、パラメータの使用例を含みます。

インポート・パラメータの使用例

各項に示す例を試行する場合は、次の要件に注意してください。

必要に応じて、これらのディレクトリ・オブジェクトの作成と、必要な権限やロールの割当てをDBAに依頼します。

これらのパラメータの構文図は、「Data Pump Importの構文図」を参照してください。

特に指定がないかぎり、これらのパラメータはパラメータ・ファイルでも指定できます。

Data Pumpコマンドラインでの引用符の使用

オペレーティング・システムによっては、コマンドラインの引用符を、バックスラッシュなどでエスケープする必要がある場合があります。バックスラッシュがない場合、Importで使用するコマンドライン解析機能で引用符として認識されないため、引用符が削除されエラーが発生します。通常、そのような文は、パラメータ・ファイルに記述することをお薦めします。パラメータ・ファイルでは、エスケープ文字は不要なためです。

参照:

 


注意:

オリジナルのインポート・ユーティリティを使い慣れている場合、オリジナルのインポート・ユーティリティと同様の操作の実行に使用するData Pumpパラメータを特定できないことがあります。両者の対応関係は、「オリジナルのインポート・ユーティリティのパラメータへのData Pump Importパラメータのマップ方法」を参照してください。 


ATTACH

デフォルト: ユーザーのスキーマで現在実行されているジョブ(実行中のジョブが1つのみの場合)

用途

クライアント・セッションを既存のインポート・ジョブに接続し、自動的に対話方式コマンド・モードにします。

構文および説明

ATTACH [=[schema_name.]job_name]

schema_nameは、接続しているスキーマが、自分のスキーマにない場合に指定します。このパラメータを指定するには、IMP_FULL_DATABASEロールが必要です。

job_nameは、スキーマに対応する実行中ジョブが1つのみで、そのジョブがアクティブな場合、指定する必要はありません。停止しているジョブに接続する場合は、このジョブ名を指定する必要があります。DBA_DATAPUMP_JOBSビューまたはUSER_DATAPUMP_JOBSビューを問い合せて、Data Pumpジョブ名の一覧を表示できます。

ジョブに接続している場合、Importユーティリティでは、ジョブの説明が表示され、次にインポート・プロンプトが表示されます。

制限事項

ATTACHパラメータを指定する場合は、接続文字列(user/password)以外のパラメータは指定できません。

そのジョブが実行中でなければ、別のスキーマのジョブに接続することはできません。

ジョブのダンプ・ファイル・セットまたはマスター表が削除されている場合、接続操作は失敗します。

マスター表を変更すると、それがどのような変更であっても、予期しない結果になります。

次に、ATTACHパラメータの使用例を示します。

> impdp hr/hr ATTACH=import_job

この例では、import_jobというジョブが、hrスキーマに存在するとします。

参照:

「Importユーティリティの対話方式コマンド・モードで使用可能なコマンド」 

CONTENT

デフォルト: ALL

用途

インポート操作でロードする内容をフィルタ処理できます。

構文および説明

CONTENT={ALL | DATA_ONLY | METADATA_ONLY}

次に、CONTENTパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp CONTENT=METADATA_ONLY

このコマンドは、expfull.dmpダンプ・ファイルのメタデータのみをロードする全体インポートを実行します。全体インポートが実行されるのは、インポート・モードを指定しないファイル・ベースのインポートでは、全体インポートがデフォルトであるためです。

DIRECTORY

デフォルト: DATA_PUMP_DIR

用途

インポート・ジョブがダンプ・ファイル・セットを検出し、ログ・ファイルおよびSQLファイルが作成されるデフォルトの位置を指定します。

構文および説明

DIRECTORY=directory_object

directory_objectは、データベースのディレクトリ・オブジェクトの名前です(実際のディレクトリ名ではありません)。インストール時に、特権ユーザーにDATA_PUMP_DIRという名前のデフォルトのディレクトリ・オブジェクトへのアクセス権が付与されます。DATA_PUMP_DIRへのアクセス権を持つユーザーがDIRECTORYパラメータを使用する必要はありません。

DUMPFILEパラメータ、LOGFILEパラメータまたはSQLFILEパラメータで指定したディレクトリ・オブジェクトは、DIRECTORYパラメータに指定したディレクトリ・オブジェクトよりも優先されます。ダンプ・ファイル・セット用に使用するディレクトリに対する読取り権限と、ログ・ファイルおよびSQLファイルの作成に使用するディレクトリに対する書込み権限が必要です。

次に、DIRECTORYパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp 
LOGFILE=dpump_dir2:expfull.log

このコマンドによって、インポート・ジョブが、dpump_dir1ディレクトリ・オブジェクトに示されたディレクトリのexpfull.dmpダンプ・ファイルを検索します。LOGFILEパラメータに指定したdpump_dir2ディレクトリ・オブジェクトは、DIRECTORYパラメータよりも優先されるため、ログ・ファイルは、dpump_dir2に書き込まれます。

参照:

 

DUMPFILE

デフォルト: expdat.dmp

用途

Exportによって作成されたダンプ・ファイル・セットの名前を指定します。オプションで、これらのディレクトリ・オブジェクトを指定します。

構文および説明

DUMPFILE=[directory_object:]file_name [, ...]

DIRECTORYパラメータで指定されている場合、directory_objectはオプションです。ここで値を指定する場合は、すでに存在しアクセス権があるディレクトリ・オブジェクトを指定します。DUMPFILEパラメータの一部に指定されるデータベース・ディレクトリ・オブジェクトは、DIRECTORYパラメータで指定された値よりも優先されます。

file_nameには、ダンプ・ファイル・セット内のファイルの名前を指定します。ファイル名には、置換変数%Uを含むテンプレートを指定することもできます。%Uを使用した場合、Importユーティリティは、テンプレートと一致する各ファイルを一致するファイルが検出されなくなるまで調べ、ダンプ・ファイル・セットの一部となるすべてのファイルの位置を特定します。%Uは、01から始まる2桁の整数に変換されます。

DUMPFILEパラメータでのファイル指定にセット全体が含まれている場合は、Importユーティリティでセット全体の位置を特定するための十分な情報がファイルに含まれます。ファイルの名前、位置または順序は、エクスポート時と同じである必要はありません。

次に、ImportのDUMPFILEパラメータの使用例を示します。この例では、ExportのDUMPFILEパラメータで示した例を実行して、ダンプ・ファイルを作成できます。詳細は、「DUMPFILE」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=dpump_dir2:exp1.dmp, exp2%U.dmp

exp1.dmpダンプ・ファイルに、ディレクトリ・オブジェクト(dpump_dir2)が指定されているため、インポート・ジョブは、そのファイルを検索します。また、dpump_dir1にある、exp2<nn>.dmpの形式のダンプ・ファイルも検索します。ログ・ファイルは、dpump_dir1に書き込まれます。

参照:

 

ENCRYPTION_PASSWORD

デフォルト: なし

用途

ダンプ・ファイル・セット内の暗号化列のデータにアクセスするためのキーを指定します。

構文および説明

ENCRYPTION_PASSWORD = password

このパラメータは、エクスポート操作で暗号化パスワードが指定された場合に、インポート操作で必要になります。このパスワードは、エクスポート操作で指定されたものと同じものを指定する必要があります。

エクスポート操作で暗号化パスワードが指定されなかった場合、このパラメータは使用しません。

ENCRYPTION_PASSWORDパラメータを使用するには、透過的データ暗号化が設定されている必要があります。透過的データ暗号化の詳細は、『Oracle Advanced Security管理者ガイド』を参照してください。

制限事項

ENCRYPTION_PASSWORDパラメータは、すでに暗号化されているデータがある列にのみ適用されます。Data Pumpでは、ダンプ・ファイル全体の暗号化はサポートされていません。

ネットワーク・インポートでは、ENCRYPTION_PASSWORDパラメータは、暗号化列があるユーザー定義の外部表ではサポートされていません。そのような表はスキップされ、エラー・メッセージが表示されますが、ジョブは続行されます。

ENCRYPTION_PASSWORDパラメータは、ネットワーク・インポート・ジョブには無効です。

すべての列に対する暗号化属性は、エクスポートされた表の定義とターゲット表で一致している必要があります。たとえば、EMP表にEMPNOという列があるとします。次のいずれの場合も、ソース表のEMP列の暗号化属性が、ターゲット表のEMP列の暗号化属性と一致していないためエラーになります。

次の例では、暗号化パスワード123456を指定する必要があります。これは、ダンプ・ファイルdpcd2be1.dmpの作成時に、そのパスワードが指定されたためです(「ENCRYPTION_PASSWORD」を参照)。

impdp hr/hr tables=employee_s_encrypt directory=dpump_dir dumpfile=dpcd2be1.dmp  
ENCRYPTION_PASSWORD=123456

インポート操作時に、エクスポート操作時に暗号化されたemployee_s_encrypt表のすべての列が、クリア・テキストとして書き込まれます。

ESTIMATE

デフォルト: BLOCKS

用途

このパラメータによって、ネットワーク・インポート操作のソース・システムで、データの生成量が見積もられます。

構文および説明

ESTIMATE={BLOCKS | STATISTICS}

ESTIMATEパラメータでは、次の値を選択できます。

生成される見積りは、インポート・ジョブの完了率の確認に使用されます。

制限事項

ImportのESTIMATEパラメータは、NETWORK_LINKパラメータも指定されている場合のみ有効です。

インポート・ソースがダンプ・ファイル・セットの場合、ロードされるデータの量がすでにわかっているため、完了率は自動的に計算されます。

次の例では、source_database_linkにソース・データベースに対する有効なリンク名を指定します。

> impdp hr/hr TABLES=job_history NETWORK_LINK=source_database_link
  DIRECTORY=dpump_dir1 ESTIMATE=statistics 

hrスキーマのjob_history表が、ソース・データベースからインポートされます。デフォルトでログ・ファイルが作成され、dpump_dir1ディレクトリ・オブジェクトで示されたディレクトリに書き込まれます。ジョブが開始すると、表の統計に基づいて、そのジョブの見積りが計算されます。

EXCLUDE

デフォルト: なし

用途

インポート・ジョブから除外するオブジェクトおよびオブジェクト型を指定して、インポートの対象となるメタデータをフィルタ処理できます。

構文および説明

EXCLUDE=object_type[:name_clause] [, ...]

指定したインポート・モードでは、EXCLUDE文に指定されたオブジェクト型を除き、ソースに含まれるすべてのオブジェクト型およびその依存オブジェクトが含まれます。オブジェクトが除外されると、そのオブジェクトのすべての依存オブジェクトも除外されます。たとえば、表を除外すると、その表のすべての索引およびトリガーも除外されます。

name_clauseは、オプションです。このオプションを使用すると、あるオブジェクト型のうち、特定のオブジェクトをファイングレイン選択できます。オプションの名前句は、その型のオブジェクト名に対するフィルタとして使用されるSQL式です。SQL演算子および指定した型のオブジェクト名の比較対象となる値で構成されています。この名前句は、名前付きのインスタンスを持つオブジェクト型にのみ適用されます(たとえば、TABLEおよびVIEWには適用されますが、GRANTには適用されません)。オプションの名前句は、コロンでオブジェクト型と区切り、二重引用符(一重引用符は名前文字列の区切りに使用する必要があるため)で囲む必要があります。たとえば、EXCLUDE=INDEX:"LIKE 'DEPT%'"と設定した場合、deptで始まる名前を持つすべての索引を除外できます。

2つ以上のEXCLUDE文を指定できます。オペレーティング・システム固有のエスケープ文字をコマンドラインで使用する必要がないように、EXCLUDE文は、パラメータ・ファイルで指定することをお薦めします。

次の項で説明するとおり、特定のオブジェクト(特にCONSTRAINTGRANTおよびUSER)を除外対象として指定した場合の効果を認識しておく必要があります。

制約の除外

次の制約は除外できません。

次に、EXCLUDE文の例およびその解釈を示します。

権限とユーザーの除外

EXCLUDE=GRANTを指定すると、すべてのオブジェクト型に対するオブジェクト権限およびシステム権限が除外されます。

EXCLUDE=USERを指定すると、ユーザーの定義のみが除外され、そのユーザーのスキーマ内のオブジェクトは除外されません。

特定のユーザーとそのユーザーのすべてのオブジェクトを除外するには、次のフィルタを指定します(hrは除外するユーザーのスキーマ名です)。

EXCLUDE=SCHEMA:"= 'HR'"

EXCLUDE=USER:"= 'HR'"などの文を使用してユーザーを除外しようとすると、DDL文CREATE USER hr のみが除外され、期待した結果が得られない場合があります。

制限事項

EXCLUDEおよびINCLUDEは、相互に排他的なパラメータです。

DBAまたはIMP_FULL_DATABASEロールを持つ他のユーザーが、パラメータ・ファイルexclude.parで次のように実行するとします。(例を試す場合は、このファイルを作成する必要があります。)

EXCLUDE=FUNCTION
EXCLUDE=PROCEDURE
EXCLUDE=PACKAGE
EXCLUDE=INDEX:"LIKE 'EMP%' "

次のコマンドを発行します。このコマンドでは、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp PARFILE=exclude.par

expfull.dmpダンプ・ファイルから、empで始まる名前を持つファンクション、プロシージャ、パッケージおよび索引を除くすべてのデータがロードされます。

参照:

EXCLUDEパラメータを使用した場合の効果の詳細は、「インポート操作中のフィルタ処理」を参照してください。 

FLASHBACK_SCN

デフォルト: なし

用途

インポートで使用されるシステム変更番号(SCN)を指定して、Flashbackユーティリティを使用可能にします。

構文および説明

FLASHBACK_SCN=scn_number

インポート操作は、指定したscn_numberにおけるデータの一貫性を維持したまま実行されます。


注意:

ロジカル・スタンバイ・システムを使用している場合は、ロジカル・スタンバイによってSCNが選択されるため、FLASHBACK_SCNパラメータは無視されます。ロジカル・スタンバイ・データベースの詳細は、『Oracle Data Guard概要および管理』を参照してください。 


制限事項

FLASHBACK_SCNパラメータは、NETWORK_LINKパラメータも指定されている場合のみ有効です。

FLASHBACK_SCNパラメータは、Oracle Database 10g リリース1(10.1)のフラッシュバック問合せ機能にのみ関係します。Oracle Database 10g リリース1(10.1)で新しく追加されたフラッシュバック・データベース、フラッシュバック削除などのフラッシュバック機能には適用できません。

FLASHBACK_SCNおよびFLASHBACK_TIMEは、相互に排他的なパラメータです。

次に、FLASHBACK_SCNパラメータの使用例を示します。

> impdp hr/hr DIRECTORY=dpump_dir1 FLASHBACK_SCN=123456 
NETWORK_LINK=source_database_link

この例のsource_database_linkには、データのインポート元であるソース・データベース名を指定します。

FLASHBACK_TIME

デフォルト: なし

用途

特定のSCNの時刻を指定します。

構文および説明

FLASHBACK_TIME="TO_TIMESTAMP()"

指定された時刻に最も近いSCNを検出し、このSCNを使用してFlashbackユーティリティを使用可能にします。インポート操作は、このSCNにおけるデータの一貫性を維持したまま実行されます。TO_TIMESTAMPの値は引用符で囲まれるため、パラメータ・ファイルに記述することをお薦めします。コマンドラインの場合は、引用符の前にエスケープ文字を入力する必要があります。詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。


注意:

ロジカル・スタンバイ・システムを使用している場合は、ロジカル・スタンバイによってSCNが選択されるため、FLASHBACK_TIMEパラメータは無視されます。ロジカル・スタンバイ・データベースの詳細は、『Oracle Data Guard概要および管理』を参照してください。 


制限事項

このパラメータは、NETWORK_LINKパラメータも指定されている場合にのみ有効です。

FLASHBACK_TIMEパラメータは、Oracle Database 10g リリース1(10.1)のフラッシュバック問合せ機能にのみ関係します。Oracle Database 10g リリース1(10.1)で新しく追加されたフラッシュバック・データベース、フラッシュバック削除などのフラッシュバック機能には適用できません。

FLASHBACK_TIMEおよびFLASHBACK_SCNは、相互に排他的なパラメータです。

DBMS_FLASHBACK.ENABLE_AT_TIMEプロシージャで使用可能な形式で時刻を指定できます。たとえば、次の内容のパラメータ・ファイルflashback_imp.parを作成したとします。

FLASHBACK_TIME="TO_TIMESTAMP('25-08-2003 14:35:00', 'DD-MM-YYYY HH24:MI:SS')"

次のコマンドを発行します。

> impdp hr/hr DIRECTORY=dpump_dir1 PARFILE=flashback_imp.par NETWORK_LINK=source_
database_link

インポート操作は、指定した時間に最も近いSCNと整合性のあるデータで実行されます。

参照:

フラッシュバックの使用方法の詳細は、『Oracle Databaseアプリケーション開発者ガイド - 基礎編』を参照してください。 

FULL

デフォルト: Y

用途

全データベース・インポートの実行を指定します。

構文および説明

FULL=y

FULL=yを指定すると、ソース全体(ダンプ・ファイル・セットまたは他のデータベース)がインポートされます。

NETWORK_LINKパラメータを使用する場合は、ターゲット・データベースではIMP_FULL_DATABASEロールが必要で、ソース・データベースではEXP_FULL_DATABASEロールが必要です。

ファイルのインポート権限が付与されていないユーザーの場合は、自分のスキーマにマップするスキーマのみインポートされます。

FULLは、ファイル・ベース・インポートを実行する際のデフォルト・モードです。

次に、FULLパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DUMPFILE=dpump_dir1:expfull.dmp FULL=y 
LOGFILE=dpump_dir2:full_imp.log

この例では、expfull.dmpダンプ・ファイルのすべての内容をインポートします。ここでは、DIRECTORYパラメータは指定されていません。そのため、DUMPFILEパラメータおよびLOGFILEパラメータの両方にディレクトリ・オブジェクトを指定する必要があります。例に示すとおり、ディレクトリ・オブジェクトは、別のものを指定することができます。

HELP

デフォルト: n

用途

Importユーティリティのオンライン・ヘルプを表示します。

構文および説明

HELP=y

HELP=yが指定されている場合は、Importユーティリティのすべてのコマンドライン・パラメータと対話方式コマンドの要約が表示されます。

> impdp HELP = Y

この例では、すべてのインポート・パラメータおよびコマンドの簡単な説明が表示されます。

INCLUDE

デフォルト: なし

用途

現行のインポート・モードにオブジェクトとオブジェクト型を指定して、インポート対象のメタデータをフィルタ処理できます。

構文および説明

INCLUDE = object_type[:name_clause] [, ...]

INCLUDE文に明示的に指定した、ソース内のオブジェクト型とその依存オブジェクトのみがインポートされます。

name_clauseは、オプションです。このオプションを使用すると、あるオブジェクト型のうち、特定のオブジェクトをファイングレイン選択できます。オプションの名前句は、その型のオブジェクト名に対するフィルタとして使用されるSQL式です。SQL演算子および指定した型のオブジェクト名の比較対象となる値で構成されています。この名前句は、名前付きのインスタンスを持つオブジェクト型にのみ適用されます(たとえば、TABLEには適用されますが、GRANTには適用されません)。オプションの名前句は、コロンでオブジェクト型と区切り、二重引用符(一重引用符は名前文字列の区切りに使用する必要があるため)で囲む必要があります。

2つ以上のINCLUDE文を指定できます。オペレーティング・システム固有のエスケープ文字をコマンドラインで使用する必要がないように、INCLUDE文は、パラメータ・ファイルで指定することをお薦めします。

DATABASE_EXPORT_OBJECTS(全体モードの場合)、SCHEMA_EXPORT_OBJECTS(スキーマ・モードの場合)、TABLE_EXPORT_OBJECTS(表および表領域モードの場合)ビューを問い合せて、INCLUDEパラメータで使用する有効なパスの一覧を表示できます。

制限事項

INCLUDEおよびEXCLUDEは、相互に排他的なパラメータです。

DBAまたはIMP_FULL_DATABASEロールを持つ他のユーザーに使用されているパラメータ・ファイルimp_include.parが、次のように指定されているとします。

INCLUDE=FUNCTION
INCLUDE=PROCEDURE
INCLUDE=PACKAGE
INCLUDE=INDEX:"LIKE 'EMP%' "

次のコマンドを発行します。

> impdp hr/hr SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp 
PARFILE=imp_include.par

この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

このインポートでは、hrスキーマのファンクション、プロシージャ、パッケージ、および名前がEMPで始まる索引のみロードされます。これは特権モードのインポート(ユーザーにIMP_FULL_DATABASEロールがある)ですが、USERオブジェクト型がINCLUDE文に指定されていないため、スキーマ定義はインポートされません。

JOB_NAME

デフォルト: SYS_<IMPORTまたはSQLFILE>_<mode>_NNという書式のシステム生成による名前

用途

インポート・ジョブの名前を指定します。ジョブ名は、ATTACHなどの後続処理でのインポート・ジョブを識別する場合に使用されます。ジョブ名は、現在のユーザーのスキーマでのマスター表の名前となります。インポート・ジョブは、マスター表によって制御されます。

構文および説明

JOB_NAME=jobname_string

jobname_stringには、このインポート・ジョブの名前を、30バイト以内で指定します。これらのバイトは印字可能文字と空白を表します。空白を含む場合は、一重引用符で囲みます(たとえば、'Thursday Import'とします)。ジョブ名は、インポート操作を実行しているユーザーのスキーマによって暗黙的に修飾されます。

デフォルトのジョブ名はSYS_<IMPORTまたはSQLFILE>_<mode>_NNという形式で、システムによって生成されます。NNは、01から始めて増加する2桁の整数です。デフォルト名は、'SYS_IMPORT_TABLESPACE_02'などです。

次に、JOB_NAMEパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp JOB_NAME=impjob01

LOGFILE

デフォルト: import.log

用途

インポート・ジョブのログ・ファイルの名前を指定します。オプションで、そのログ・ファイルのディレクトリ・オブジェクトを指定します。

構文および説明

LOGFILE=[directory_object:]file_name

directory_objectには、DBAによって作成済で、自分にアクセス権があるディレクトリ・オブジェクトを指定する必要があります。この指定は、DIRECTORYパラメータに指定されたディレクトリ・オブジェクトよりも優先されます。デフォルトでは、DIRECTORYパラメータに指定されているディレクトリ・オブジェクトによって参照されるディレクトリ内に、import.logが作成されます。

file_nameに指定したファイルがすでに存在する場合、そのファイルは上書きされます。

処理中の作業、完了した作業および発生したエラーに関するすべてのメッセージがログ・ファイルに書き込まれます。(ジョブのリアルタイムの状態を把握するには、対話方式モードでSTATUSコマンドを使用します。)

NOLOGFILEパラメータが指定されていないかぎり、常に、ログ・ファイルは作成されます。ダンプ・ファイル・セットと同様に、ログ・ファイルの基準となるのは、クライアントではなく、サーバーです。


注意:

Data Pump Importユーティリティは、データベースのキャラクタ・セットを使用してログ・ファイルに書込みを行います。クライアントのNLS_LANG環境にデータベースのキャラクタ・セットと異なるキャラクタ・セットを設定した場合は、ログ・ファイル内の表の名前が、クライアントの出力画面に表示される名前と異なることがあります。 


次に、LOGFILEパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr SCHEMAS=HR DIRECTORY=dpump_dir2 LOGFILE=imp.log
 DUMPFILE=dpump_dir1:expfull.dmp

LOGFILEパラメータにはディレクトリ・オブジェクトが指定されていないため、ログ・ファイルは、DIRECTORYパラメータに指定したディレクトリ・オブジェクトに書き込まれます。

参照:

 

NETWORK_LINK

デフォルト: なし

用途

ソース・システムに対する有効なデータベース・リンクの名前を指定すると、ネットワーク・インポートが使用可能になります。

構文および説明

NETWORK_LINK=source_database_link

NETWORK_LINKパラメータは、ネットワーク・インポートを開始します。つまり、impdpクライアントが、通常は、ローカル・データベースに対してインポート要求を開始します。サーバーは、source_database_linkで指定されたリモート・ソース・データベースに接続し、そこからデータを取り出して、ターゲット・データベースに直接書き込みます。ダンプ・ファイルは含まれません。

source_database_linkには、ソース・データベースへの有効なリンク名を指定する必要があります。データベースにデータベース・リンクが指定されていない場合、ユーザーまたはDBAが、データベース・リンクを作成する必要があります。CREATE DATABASE LINK文の詳細は、『Oracle Database SQLリファレンス』を参照してください。

ソース・データベースが読取り専用の場合、ソース・データベースのユーザーには、デフォルトの一時表領域として、ローカル管理表領域が割り当てられている必要があります。それ以外の場合、ジョブは失敗します。詳細は、『Oracle Database管理者ガイド』のローカル管理の一時表領域の作成に関する説明を参照してください。

このパラメータは、FLASHBACK_SCNFLASHBACK_TIMEESTIMATEまたはTRANSPORT_TABLESPACESのいずれかのパラメータを指定する場合に必要です。

制限事項

ネットワーク・インポートは進化した型の使用をサポートしません。

NETWORK_LINKパラメータをTABLESパラメータと組み合せて使用する場合は、表全体のみをインポートできます(表のパーティションはインポートできません)。

インポート・ジョブを実行するUSERIDがターゲット・データベースのIMP_FULL_DATABASEロールを持っている場合、そのユーザーは、ソース・データベースのEXP_FULL_DATABASEロールも持っている必要があります。

Data Pump Importでサポートしているデータベース・リンクのタイプは、パブリック、固定ユーザーおよび接続ユーザーのみです。現在のユーザーのデータベース・リンクは、サポートされていません。

次の例では、source_database_linkを有効なデータベース・リンクの名前に置き換えます。

> impdp hr/hr TABLES=employees DIRECTORY=dpump_dir1
NETWORK_LINK=source_database_link EXCLUDE=CONSTRAINT

この例では、ソース・データベースからemployees 表(制約を除く)がインポートされます。ログ・ファイルは、DIRECTORYパラメータに指定したdpump_dir1に書き込まれます。

NOLOGFILE

デフォルト: n

用途

デフォルトでログ・ファイルを作成するかどうかを指定します。

構文および説明

NOLOGFILE={y | n}

NOLOGFILE=Yを指定すると、ログ・ファイルは作成されません。ただし、進捗とエラーに関する情報が、接続されているいずれかのクライアント(オリジナルのエクスポート操作を開始したクライアントを含む)の標準出力デバイスに書き込まれます。実行中のジョブに接続されているクライアントが存在しない場合にNOLOGFILE=Yを指定すると、重要な進捗情報およびエラー情報が失われる危険性があります。

次に、NOLOGFILEパラメータの使用例を示します。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp NOLOGFILE=Y

このコマンドを実行すると、expfull.dmpダンプ・ファイルの全体インポート・モード(ファイル・ベース・インポートのデフォルト)が実行されます。NOLOGFILEyが設定されているため、ログ・ファイルは書き込まれません。

PARALLEL

デフォルト: 1

用途

インポート・ジョブにかわり、アクティブな実行スレッドの最大数を指定します。

構文および説明

PARALLEL=integer

integerに指定する値は、インポート・ジョブの動作でアクティブな実行操作の最大スレッド数です。この実行セットはワーカー・プロセスおよびパラレルI/Oサーバーの処理の組合せで構成されています。パラレルI/O操作でパラレル実行コーディネータとして動作するマスター制御プロセス、アイドル状態のワーカーおよびワーカー・プロセスは、この合計数には加算されません。このパラメータを使用して、リソース消費と経過時間のバランスをとることができます。

インポートのソースがファイルで構成されるダンプ・ファイル・セットの場合、同じファイルから複数のプロセスが読取り可能ですが、パフォーマンスは、I/O競合によって制限されます。

ジョブの実行中にPARALLELの値を増減するには、対話方式コマンド・モードを使用します。

並列度は、ユーザー・データおよびパッケージ本体のロード、索引の作成に使用します。

参照:

「リソース消費の制御」 

制限事項

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

次に、PARALLELパラメータの使用例を示します。

> impdp hr/hr DIRECTORY=dpump_dir1 LOGFILE=parallel_import.log 
JOB_NAME=imp_par3 DUMPFILE=par_exp%U.dmp PARALLEL=3

このコマンドは、ExportのPARALLELパラメータの例を実行した場合に作成されるダンプ・ファイル・セットをインポートします。(詳細は、「PARALLEL」を参照してください。)ダンプ・ファイル名は、par_exp01.dmppar_exp02.dmpおよびpar_exp03.dmpです。

PARFILE

デフォルト: なし

用途

インポート・パラメータ・ファイルの名前を指定します。

構文および説明

PARFILE=[directory_path]file_name

サーバーによって作成され、書き込まれるダンプ・ファイル、ログ・ファイル、SQLファイルとは異なり、パラメータ・ファイルは、impdpイメージを実行しているクライアントによってオープンされ、読み込まれます。したがって、ディレクトリ・オブジェクトの名前は不要かつ不適切です。デフォルトは、ユーザーの現行のディレクトリです。値の指定に引用符が必要なパラメータを使用する場合は、パラメータ・ファイルを使用することをお薦めします。(詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。)

制限事項

PARFILEパラメータは、パラメータ・ファイル内には指定できません。

パラメータ・ファイルhr_imp.parの内容は、次のとおりです。

TABLES= countries, locations, regions
DUMPFILE=dpump_dir2:exp1.dmp,exp2%U.dmp
DIRECTORY=dpump_dir1
PARALLEL=3 

このパラメータ・ファイルを指定するには、次のコマンドを実行します。

> impdp hr/hr PARFILE=hr_imp.par

countrieslocationsおよびregions は、ExportのDUMPFILEパラメータの例を実行した場合に作成されるダンプ・ファイル・セットからインポートされます。(詳細は、「DUMPFILE」を参照してください。)インポート・ジョブは、dpump_dir2で示される位置にあるexp1.dmpファイルを検索します。また、dpump_dir1によって示される位置にあるexp2<nn>.dmpの形式のすべてのダンプ・ファイルも検索します。そのジョブのログ・ファイルも、dpump_dir1に書き込まれます。

QUERY

デフォルト: なし

用途

SQLのSELECT文に句を指定して、インポート対象のデータをフィルタ処理できます。この句は、インポート・ジョブ内のすべての表または特定の表に適用されます。

構文および説明

QUERY=[[schema_name.]table_name:]query_clause

通常、query_clauseでは、ファイングレイン行選択のためのWHERE句を使用しますが、任意のSQL句を使用できます。

スキーマおよび表を指定しない場合は、ソース・ダンプ・ファイル・セットまたはデータベースのすべての表に問合せが適用されます(この場合、問合せは、これらのすべての表に対して有効である必要があります)。

特定の表に問合せを適用する場合は、表名と問合せ句をコロンで区切る必要があります。表固有の問合せは複数指定できますが、1つの表に指定できるのは1つの問合せのみです。

問合せは一重引用符または二重引用符で囲みます。句内の文字列を一重引用符で囲む必要があるため、二重引用符の使用をお薦めします。

オペレーティング・システム固有のエスケープ文字をコマンドラインで使用する必要がないように、QUERYは、パラメータ・ファイルで指定することをお薦めします。

QUERYパラメータを使用すると、外部表による方法(ダレクト・パスによる方法ではなく)でデータベース・アクセスが実行されます。

表固有の問合せで自分のスキーマ以外のスキーマを指定するには、IMP_FULL_DATABASEロールが必要です。

制限事項

QUERYパラメータは次のパラメータとは併用できません。

次に、QUERYパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。QUERYの値には引用符が使用されるため、コマンドラインでエスケープ文字を使用する必要がないように、パラメータ・ファイルを使用することをお薦めします。(詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。)

次の内容のパラメータ・ファイルquery_imp.parを作成したとします。

QUERY=departments:"WHERE department_id < 120"

次のコマンドを入力します。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp PARFILE=query_imp.par 
NOLOGFILE=Y

expfull.dmpのデータのうち、QUERYパラメータに指定した基準を満たすデータのみがインポートされます。

REMAP_DATAFILE

デフォルト: なし

用途

ソース・データ・ファイルが指定されるすべてのSQL文(CREATE TABLESPACECREATE LIBRARYCREATE DIRECTORYなど)のソース・データ・ファイルの名前をターゲット・データ・ファイルの名前に変更します。

構文および説明

REMAP_DATAFILE=source_datafile:target_datafile

データ・ファイルの再マップは、ファイル名のネーミング規則が異なるプラットフォーム間でデータベースを移動する場合に有効です。source_datafiletarget_datafileの名前は、SQL文で指定するとおりのものである必要があります。コロンが有効なファイル指定文字として使用されるプラットフォームでの曖昧さを排除するために、データ・ファイル名は引用符で囲むことをお薦めします。

このパラメータを指定するには、IMP_FULL_DATABASEロールが必要です。

REMAP_DATAFILEの値には引用符が使用されるため、コマンドラインでエスケープ文字を使用する必要がないように、パラメータは、パラメータ・ファイルで指定することをお薦めします。(詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。)たとえば、次の内容のパラメータ・ファイルpayroll.parを作成したとします。

DIRECTORY=dpump_dir1
FULL=Y
DUMPFILE=db_full.dmp
REMAP_DATAFILE='DB1$:[HRDATA.PAYROLL]tbs6.f':'/db1/hrdata/payroll/tbs6.f'

次のコマンドを発行します。

> impdp hr/hr PARFILE=payroll.par

この例では、インポート時に、すべてのSQL DDL文に対するVMSファイル指定(DR1$:[HRDATA.PAYROLL]tbs6.f)をUNIXファイル指定(/db1/hrdata/payroll/tbs6.f)に再マップします。ダンプ・ファイルdb_full.dmpは、ディレクトリ・オブジェクトdpump_dir1によって位置が示されます。

REMAP_SCHEMA

デフォルト: なし

用途

ソース・スキーマにあるすべてのオブジェクトをターゲット・スキーマにロードします。

構文および説明

REMAP_SCHEMA=source_schema:target_schema

複数のREMAP_SCHEMA行を指定できますが、ソース・スキーマは行ごとに異なっている必要があります。ただし、異なるソース・スキーマを同じターゲット・スキーマにマップすることはできます。Importで検出できない一部のスキーマ参照があるため、マッピングは完全ではない場合があります。たとえば、Importでは、型定義、ビュー、プロシージャおよびパッケージの本体に埋め込まれたスキーマ参照は検出されません。

再マッピング先のスキーマが存在しない場合は、インポート操作によってそのスキーマが作成されます。ただし、ソース・スキーマに必要なCREATE USERメタデータがダンプ・ファイル・セットに含まれており、ユーザーが必要な権限を所有してインポートを実行していることが条件となります。たとえば、次のExportコマンドの場合、ユーザーSYSTEMには必要な権限があるため、スキーマの作成に必要なメタデータを含むダンプ・ファイル・セットが作成されます。

> expdp SYSTEM/password SCHEMAS=hr
> expdp SYSTEM/password FULL=y

スキーマの作成に必要なメタデータがダンプ・ファイル・セットに含まれていない場合や、ユーザーに必要な権限がない場合は、インポート操作を実行する前にターゲット・スキーマを作成しておく必要があります。これは、権限が付与されていないダンプ・ファイルには、インポート操作でスキーマを自動作成するための情報が含まれないためです。

インポート操作によってスキーマが作成された場合は、インポートの完了後、そのスキーマに有効なパスワードを割り当てて、接続できるようにする必要があります。パスワードを割り当てるSQL文(権限が必要)は、次のとおりです。

SQL> ALTER USER [schema_name] IDENTIFIED BY [new_pswd] 

制限事項

権限のないユーザーは、自分のスキーマが再マップのターゲット・スキーマの場合にのみ、スキーマの再マップを実行できます。(特権ユーザーがスキーマの再マップを実行する場合は、制限がありません。)

たとえば、SCOTTは、自分のBLAKEのオブジェクトをSCOTTに再マップできますが、SCOTTのオブジェクトをBLAKEに再マップすることはできません。

次のエクスポートおよびインポート・コマンドを実行して、hrスキーマをscottスキーマに再マップするとします。

> expdp SYSTEM/password SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp

> impdp SYSTEM/password DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp 
REMAP_SCHEMA=hr:scott

この例では、インポート前にユーザーscottが存在する場合、ImportのREMAP_SCHEMAコマンドによって、hrスキーマにあるオブジェクトが既存のscottスキーマに追加されます。インポート後、scottスキーマに既存のパスワードで(パスワードの再設定なしで)接続できます。

インポート操作の実行前にユーザーscottが存在しない場合は、Importによって、このユーザーがパスワードなしで自動作成されます。これは、ダンプ・ファイルhr.dmpが、スキーマの作成に必要なメタデータを含むダンプ・ファイルを作成する権限を所有するSYSTEMによって作成されたためです。ただし、インポート完了後に、ターゲット・データベース上のscottのパスワードを再設定しないかぎり、インポートの完了時にscottには接続できません。

REMAP_TABLESPACE

デフォルト: なし

用途

ターゲット表領域に作成するソース表領域内の永続データを使用して、インポート用に選択されたすべてのオブジェクトを再マップします。

構文および説明

REMAP_TABLESPACE=source_tablespace:target_tablespace

複数のREMAP_TABLESPACEパラメータを指定できますが、ソース表領域はパラメータごとに1つのみです。ターゲット・スキーマのターゲット表領域には、十分な割当て制限が必要です。

Data Pump Importで表領域を再マップする方法は、REMAP_TABLESPACEパラメータを使用する方法のみです。これは、オリジナルのインポート・ユーティリティの機能よりも簡単で正確な方法です。その方法には、表領域の副次句の数など多くの制限事項があり、一部のDDLコマンドを正常に実行できない場合がありました。

これに対し、REMAP_TABLESPACEパラメータを使用するData Pump Importの方法は、ユーザーを含むすべてのオブジェクトに対して、DDL文に含まれる表領域副次句の数にかかわりなく有効に使用できます。

制限事項

Data Pump Importで再マップ可能なトランスポータブル・インポートの表領域は、互換性レベルが10.1以降のデータベースにあるもののみです。

次に、REMAP_TABLESPACEパラメータの使用例を示します。

> impdp hr/hr REMAP_TABLESPACE=tbs_1:tbs_6 DIRECTORY=dpump_dir1 DUMPFILE=employees.dmp 

REUSE_DATAFILES

デフォルト: n

用途

インポート・ジョブで、表領域の作成に既存のデータ・ファイルを再利用するかどうかを指定します。

構文および説明

REUSE_DATAFILES={y | n}

デフォルト(n)が使用され、CREATE_TABLESPACE文で指定されているデータ・ファイルがすでに存在する場合は、CREATE_TABLESPACE文の失敗によるエラー・メッセージが発行されますが、インポート・ジョブは続行されます。

このパラメータにYを指定すると、既存のデータ・ファイルが再度初期化されます。この場合、データが失われる可能性があるため注意してください。

次に、REUSE_DATAFILESパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp LOGFILE=reuse.log
REUSE_DATAFILES=Y

この例では、expfull.dmpファイルのCREATE TABLESPACE文で指定されたデータ・ファイルを再度初期化します。

SCHEMAS

デフォルト: なし

用途

スキーマ・モード・インポートの実行を指定します。

構文および説明

SCHEMAS=schema_name [,...]

IMP_FULL_DATABASEロールがある場合は、インポートするスキーマのリストをこのパラメータで指定して、スキーマ・モードのインポートを実行できます。まず、システムおよびロールの権限、パスワード履歴などを含むスキーマが作成されます(存在しない場合)。次に、スキーマ内のすべてのオブジェクトがインポートされます。権限のないユーザーは、自分のスキーマか、自分のスキーマに再マップされているスキーマのみを指定できます。この場合、スキーマ定義についての情報はインポートされず、その定義内に含まれているオブジェクトのみがインポートされます。

スキーマ・モードは、ネットワーク・ベース・インポートを実行する際のデフォルト・モードです。

次に、SCHEMASパラメータの使用例を示します。この例では、ExportのSCHEMASパラメータで示した例を実行して、expdat.dmpファイルを作成できます。詳細は、「SCHEMAS」を参照してください。

> impdp hr/hr SCHEMAS=hr DIRECTORY=dpump_dir1 LOGFILE=schemas.log
DUMPFILE=expdat.dmp

hrスキーマは、expdat.dmpファイルからインポートされます。ログ・ファイルschemas.logは、dpump_dir1に書き込まれます。

SKIP_UNUSABLE_INDEXES

デフォルト: Oracle Databaseの構成パラメータSKIP_UNUSABLE_INDEXESの値

用途

Importで、(システムまたはユーザーのいずれかによって)索引使用禁止に設定されている索引を持つ表をロードするかどうかを指定します。

構文および説明

SKIP_UNUSABLE_INDEXES={y | n}

SKIP_UNUSABLE_INDEXESyに設定されているときに、索引が使用禁止になっている表またはパーティションが検出された場合、その表やパーティションは、使用禁止の索引が存在しない場合と同様にロードされます。

SKIP_UNUSABLE_INDEXESnに設定されているときに、索引が使用禁止の表またはパーティションが検出された場合、その表やパーティションはロードされません。索引が使用禁止に設定されていない他の表に対しては、行の挿入時に更新が行われます。

SKIP_UNUSABLE_INDEXESパラメータが指定されていない場合は、Oracle Databaseの構成パラメータSKIP_UNUSABLE_INDEXESの設定値(デフォルト値はY)が参照され、使用禁止の索引の処理が決定されます。

制約の施行に使用される索引に使用禁止のマークが付けられている場合、その表にデータはインポートされません。


注意:

このパラメータは、データを既存の表にインポートする場合にのみ有効です。インポート処理の一環として表が作成される場合は、表と索引が新規に作成され、使用禁止のマークは付けられないため、このパラメータによる実質的な効果はありません。 


次に、SKIP_UNUSABLE_INDEXESパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp LOGFILE=skip.log
SKIP_UNUSABLE_INDEXES=y

SQLFILE

デフォルト: なし

用途

Importが他のパラメータに基づいて実行するすべてのSQL DDLの書込み先のファイルを指定します。

構文および説明

SQLFILE=[directory_object:]file_name

file_nameには、インポート・ジョブが、ジョブで実行するDDLを書き込むファイル名を指定します。そのSQLは、実際には実行されず、ターゲット・システムも変更されません。ファイルは、他のdirectory_objectが明示的に指定されないかぎり、DIRECTORYパラメータに指定されたディレクトリ・オブジェクトに書き込まれます。このパラメータで指定した名前と一致する名前を持つ既存のファイルはすべて上書きされます。

パスワードは、SQLファイルに含まれないことに注意してください。たとえば、実行したDDLにCONNECT文が含まれている場合、その文はコメントで置き換えられ、スキーマ名のみが表示されます。次の例では、ダッシュの後に続くのがコメントです。また、hrというスキーマ名は表示されていますが、パスワードは表示されていません。

-- CONNECT hr

したがって、SQLファイルは、実行する前に、次のようにコメントを示すダッシュを削除し、hrスキーマのパスワード(この場合はパスワードもhr)を追加して編集する必要があります。

CONNECT hr/hr

StreamsなどのOracleデータベース・オプションでは、無名PL/SQLブロックがSQLFILE出力に出現することがあります。これらは、直接実行しないでください。

次に、SQLFILEパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp
SQLFILE=dpump_dir2:expfull.sql

SQLファイルexpfull.sqlは、dpump_dir2に書き込まれます。

STATUS

デフォルト: 0

用途

現行の操作の説明とともにジョブの詳細な状態を表示します。ジョブの推定完了率も返されます。

構文および説明

STATUS[=integer]

integerに値を入力すると、ロギング・モードでジョブの状態を表示する頻度を秒単位で指定できます。値を入力しなかった場合またはデフォルト値の0を使用した場合、各オブジェクト型、表またはパーティションの完了に関する情報のみ表示されます。

この状態情報は、標準出力デバイスのみに書き込まれ、ログ・ファイルには(使用可能な場合でも)書き込まれません。

次に、STATUSパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr NOLOGFILE=y STATUS=120 DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp

この例では、状態が2分(120秒)ごとに表示されます。

STREAMS_CONFIGURATION

デフォルト: y

用途

エクスポート・ダンプ・ファイル内に存在する一般的なStreamsメタデータをインポートするかどうかを指定します。

構文および説明

STREAMS_CONFIGURATION={y | n}

次に、STREAMS_CONFIGURATIONパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp STREAMS_CONFIGURATION=n

参照:

『Oracle Streamsレプリケーション管理者ガイド』 

TABLE_EXISTS_ACTION

デフォルト: SKIPCONTENT=DATA_ONLYが指定されている場合、デフォルトはSKIPではなく、APPENDです。)

用途

Importユーティリティに対して、作成しようとしている表がすでに存在する場合に行う操作を指定します。

構文および説明

TABLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | REPLACE}

次の値を指定できます。

これらのオプションを使用する場合に考慮する事項は次のとおりです。

制限事項

次に、TABLE_EXISTS_ACTIONパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr TABLES=employees DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp
TABLE_EXISTS_ACTION=REPLACE

TABLES

デフォルト: なし

用途

表モード・インポートの実行を指定します。

構文および説明

TABLES=[schema_name.]table_name[:partition_name]

表モード・インポートでは、表およびパーティションまたはサブパーティションをカンマで区切ったリストを指定して、ソースからインポートするデータをフィルタ処理できます。

schema_nameを指定しなかった場合は、デフォルトで現在のユーザーのスキーマ名になります。自分のスキーマ以外のスキーマを指定するには、IMP_FULL_DATABASEロールが必要です。

partition_nameを指定する場合は、関連表にあるパーティションまたはサブパーティションの名前にする必要があります。

表名には、ワイルドカードを使用することもできます。たとえば、TABLES=emp%と指定すると、名前がEMPで始まるすべての表がインポートされます。

制限事項

TABLESパラメータの値としてのシノニムの使用はサポートされていません。たとえば、hrスキーマのregions表にregnのシノニムが存在する場合、TABLES=regnを使用すると無効になります。この場合、エラーが返されます。

複数のtable_nameを指定する場合は、それらのすべてが同じスキーマに存在する必要があります。

NETWORK_LINKパラメータを使用した場合、表パーティションのインポートはサポートされません。

次に、TABLESパラメータを使用して、expfull.dmpファイルからemployeesおよびjobs表のみをインポートする簡単な例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp TABLES=employees,jobs

次に、 TABLESパラメータを使用したパーティションのインポート例を示します。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp 
TABLES=sh.sales:sales_Q1_2000,sh.sales:sales_Q2_2000

この例では、shスキーマのsales表のパーティションsales_Q1_2000およびsales_Q2_2000をインポートします。

TABLESPACES

デフォルト: なし

用途

表領域モード・インポートの実行を指定します。

構文および説明

TABLESPACES=tablespace_name [, ...]

TABLESPACESを使用して、表と依存オブジェクトがソース(全体インポート・モード、スキーマ・モード、表領域モードまたは表モードのエクスポート・ダンプ・ファイル・セット、あるいは別のデータベース)からインポートされる表領域名のリストを指定します。

次に、TABLESPACESパラメータの使用例を示します。表領域はすでに存在するものとします。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp TABLESPACES=tbs_1,tbs_2,
tbs_3,tbs_4

この例では、表領域tbs_1tbs_2tbs_3およびtbs_4にデータがある表がすべてインポートされます。

TRANSFORM

デフォルト: なし

用途

ロード中のすべての適用可能なオブジェクトおよび特定のオブジェクト用のオブジェクト作成DDLを変更できます。

構文および説明

TRANSFORM = transform_name:value[:object_type]

transform_nameには、変換の名前を指定します。使用可能なオプションは、次のとおりです。

指定するvalueの型は、使用する変換によって異なります。SEGMENT_ATTRIBUTES、STORAGE、OIDの各変換では、ブール値(y/n)が必要です。PCTSPACE変換では、整数値が必要です。

object_typeはオプションです。このオプションで、変換が適用されるオブジェクト型を指定します。オブジェクト型を指定しなかった場合、変換はすべての有効なオブジェクト型に適用されます。表3-1に、変換ごとの有効なオブジェクト型を示します。

表3-1    Data Pump ExportのTRANSFORMパラメータの有効なオブジェクト型 
  SEGMENT_ATTRIBUTES  STORAGE  OID  PCTSPACE 

CLUSTER 

 

CONSTRAINT 

 

INC_TYPE 

 

 

 

INDEX 

 

ROLLBACK_SEGMENT 

 

TABLE 

TABLESPACE 

 

 

TYPE 

 

 

 

次の例では、hrスキーマのemployees表をエクスポートしたとします。表をインポートした結果返されるSQL CREATE TABLE文は、次のようになります。

CREATE TABLE "HR"."EMPLOYEES" 
   ( "EMPLOYEE_ID" NUMBER(6,0), 
     "FIRST_NAME" VARCHAR2(20), 
     "LAST_NAME" VARCHAR2(25) CONSTRAINT "EMP_LAST_NAME_NN" NOT NULL ENABLE, 
     "EMAIL" VARCHAR2(25) CONSTRAINT "EMP_EMAIL_NN" NOT NULL ENABLE, 
     "PHONE_NUMBER" VARCHAR2(20), 
     "HIRE_DATE" DATE CONSTRAINT "EMP_HIRE_DATE_NN" NOT NULL ENABLE, 
     "JOB_ID" VARCHAR2(10) CONSTRAINT "EMP_JOB_NN" NOT NULL ENABLE, 
     "SALARY" NUMBER(8,2), 
     "COMMISSION_PCT" NUMBER(2,2), 
     "MANAGER_ID" NUMBER(6,0), 
     "DEPARTMENT_ID" NUMBER(4,0)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 10240 NEXT 16384 MINEXTENTS 1 MAXEXTENTS 121
  PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "SYSTEM" ;

STORAGE句またはTABLESPACE句は、保持しない場合、ImportユーティリティのTRANSFORMパラメータを使用してCREATE STATEMENT から削除できます。SEGMENT_ATTRIBUTESの値をnに指定します。これによって、セグメント属性(記憶域と表領域の両方)が表から除外されます。

> impdp hr/hr TABLES=hr.employees \
  DIRECTORY=dpump_dir1 DUMPFILE=hr_emp.dmp \
  TRANSFORM=SEGMENT_ATTRIBUTES:n:table

この結果返される、employees表のCREATE TABLE文は次のようになります。STORAGEまたはTABLESPACE句は含まれていません。かわりに、HRスキーマのデフォルト表領域が使用されます。

CREATE TABLE "HR"."EMPLOYEES" 
   ( "EMPLOYEE_ID" NUMBER(6,0), 
     "FIRST_NAME" VARCHAR2(20), 
     "LAST_NAME" VARCHAR2(25) CONSTRAINT "EMP_LAST_NAME_NN" NOT NULL ENABLE, 
     "EMAIL" VARCHAR2(25) CONSTRAINT "EMP_EMAIL_NN" NOT NULL ENABLE, 
     "PHONE_NUMBER" VARCHAR2(20), 
     "HIRE_DATE" DATE CONSTRAINT "EMP_HIRE_DATE_NN" NOT NULL ENABLE, 
     "JOB_ID" VARCHAR2(10) CONSTRAINT "EMP_JOB_NN" NOT NULL ENABLE, 
     "SALARY" NUMBER(8,2), 
     "COMMISSION_PCT" NUMBER(2,2), 
     "MANAGER_ID" NUMBER(6,0), 
     "DEPARTMENT_ID" NUMBER(4,0)
   );

前述の例で示したとおり、SEGMENT_ATTRIBUTES変換は、記憶域と表領域の両方の属性に適用されます。STORAGE句のみを省略して、TABLESPACE句を保持する場合は、STORAGE変換を次のように使用できます。

> impdp hr/hr TABLES=hr.employees \
  DIRECTORY=dpump_dir1 DUMPFILE=hr_emp.dmp \
  TRANSFORM=STORAGE:n:table

SEGMENT_ATTRIBUTESおよびSTORAGE変換は、次のコマンドに示すとおり、TRANSFORMパラメータにオブジェクト型を指定しないことによって、すべての適用可能な表オブジェクトおよび索引オブジェクトに適用できます。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp \
 SCHEMAS=hr TRANSFORM=SEGMENT_ATTRIBUTES:n

TRANSPORT_DATAFILES

デフォルト: なし

用途

トランスポータブル・モード・インポートで、ターゲット・データベースにインポートするデータ・ファイルのリストを指定します。ソース・データベース・システムから、それらのファイルを事前にコピーしておく必要があります。

構文および説明

TRANSPORT_DATAFILES=datafile_name

datafile_nameには、ディレクトリ・オブジェクト名ではなく、ターゲット・データベースが存在するシステムで有効な絶対ディレクトリ・パスを指定する必要があります。

次に、TRANSPORT_DATAFILESパラメータの使用例を示します。TRANSPORT_DATAFILESの値は引用符で囲まれるため、コマンドラインでエスケープ文字を使用する必要がないように、パラメータ・ファイルを使用することをお薦めします。(詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。)次の内容のパラメータ・ファイルtrans_datafiles.parを作成したとします。

DIRECTORY=dpump_dir1
DUMPFILE=tts.dmp
TRANSPORT_DATAFILES='/user01/data/tbs1.f'

次のコマンドを発行します。

> impdp hr/hr PARFILE=trans_datafiles.par

TRANSPORT_FULL_CHECK

デフォルト: n

用途

指定したトランスポータブル表領域セットに依存性が存在しないことを確認するかどうかを指定します。

構文および説明

TRANSPORT_FULL_CHECK={y | n}

TRANSPORT_FULL_CHECK=yを指定すると、Importユーティリティによって、トランスポータブル・セットの内部にあるオブジェクトと外部にあるオブジェクトの間に依存性が存在しないことが確認されます。ここでは、双方向の依存性がチェックされます。たとえば、トランスポータブル・セット内に表は存在するが、その表の索引は存在しない場合は、エラーが返され、インポート操作が終了します。同様に、トランスポータブル・セット内に索引は存在するが表は存在しない場合も、エラーが返されます。

TRANSPORT_FULL_CHECK=nを指定すると、Importユーティリティによって、トランスポータブル・セットの外部にあるオブジェクトの依存オブジェクトが、トランスポータブル・セット内に存在しないことのみ確認されます。ここでは、一方向の依存性がチェックされます。たとえば、表は索引に依存しませんが、索引は表に依存します。これは、索引は表なしでは意味を持たないためです。 そのため、トランスポータブル・セット内に表は存在するが、表の索引は存在しない場合、このチェックは正常に終了します。ただし、トランスポータブル・セット内に索引は存在するが表は存在しない場合は、インポート操作が終了します。

このチェックに加えて、インポートでは、常に、TRANSPORT_TABLESPACESで指定された表領域セット内に定義されているすべての表(およびその索引)のすべての記憶域セグメントが、表領域セット内に実際に含まれていることが確認されます。

制限事項

このパラメータは、NETWORK_LINKパラメータを指定した場合にのみトランスポータブル・モードに対して有効です。

次の例では、source_database_linkを有効なデータベース・リンクの名前に置き換えます。また、この例では、tbs6.fというデータ・ファイルがすでに存在するものとします。

TRANSPORT_DATAFILESの値は引用符で囲まれるため、コマンドラインでエスケープ文字を使用する必要がないように、パラメータ・ファイルを使用することをお薦めします。(詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。)たとえば、次の内容のパラメータ・ファイルfull_check.parを作成したとします。

DIRECTORY=dpump_dir1
TRANSPORT_TABLESPACES=tbs_6
NETWORK_LINK=source_database_link
TRANSPORT_FULL_CHECK=y
TRANSPORT_DATAFILES='/wkdir/data/tbs6.f'

次のコマンドを発行します。

> impdp hr/hr PARFILE=full_check.par

TRANSPORT_TABLESPACES

デフォルト: なし

用途

トランスポータブル表領域モード・インポートの実行を指定します。

構文および説明

TRANSPORT_TABLESPACES=tablespace_name [, ...]

TRANSPORT_TABLESPACESパラメータは、ソース・データベースからターゲット・データベースにオブジェクト・メタデータがインポートされる表領域の名前のリストを指定するために使用します。

制限事項

トランスポータブル表領域をエクスポートした後、それよりも古いリリース・レベルのデータベースにインポートすることはできません。インポート先のターゲット・データベースのリリース・レベルは、ソース・データベース以上である必要があります。

TRANSPORT_TABLESPACESパラメータは、NETWORK_LINKパラメータも指定されている場合のみ有効です。

次の例では、source_database_linkを有効なデータベース・リンクの名前に置き換えます。また、この例では、tbs6.fというデータ・ファイルが、ソース・データベースからローカル・システムにすでにコピーされているものとします。TRANSPORT_DATAFILESの値は引用符で囲まれるため、コマンドラインでエスケープ文字を使用する必要がないように、パラメータ・ファイルを使用することをお薦めします。(詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。)次の内容のパラメータ・ファイルtablespaces.parを作成したとします。

DIRECTORY=dpump_dir1
NETWORK_LINK=source_database_link
TRANSPORT_TABLESPACES=tbs_6
TRANSPORT_FULL_CHECK=n
TRANSPORT_DATAFILES='user01/data/tbs6.f'

次のコマンドを発行します。

> impdp hr/hr PARFILE=tablespaces.par

VERSION

デフォルト: COMPATIBLE

用途

インポートするデータベース・オブジェクトのバージョンを指定します。なお、これは、10.1より前のバージョンのOracle DatabaseでData Pump Importが使用可能ということではありません。 Data Pump Importは、Oracle Database 10g リリース1(10.1)以降でのみ動作します。VERSIONパラメータを使用して可能になるのは、インポートするオブジェクトのバージョンの識別のみです。

構文および説明

VERSION={COMPATIBLE | LATEST | version_string}

このパラメータは、ソース・システムのバージョンより古い互換バージョンのOracleデータベースが稼働しているターゲット・システムのロードに使用できます。指定したバージョンと互換性のないソース・システム上のデータベース・オブジェクトまたは属性はターゲットに移動されません。たとえば、指定したバージョンではサポートされていない新しいデータ型を含む表はインポートされません。このパラメータの有効な値は次のとおりです。

次に、VERSIONパラメータの使用例を示します。この例では、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。詳細は、「FULL」を参照してください。

> impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp TABLES=employees
VERSION=LATEST

オリジナルのインポート・ユーティリティのパラメータへのData Pump Importパラメータのマップ方法

表3-2は、Data Pump Importパラメータをオリジナルのインポート・パラメータにできるかぎり正確にマップしたものです。機能の設計変更で、オリジナルのインポート・パラメータが不要になったため、対応するData Pumpコマンドがない場合もあります。また、表に示すとおり、パラメータ名が同じ場合もありますが、機能は多少異なります。

表3-2    オリジナルのインポート・パラメータと、それらに対応するData Pump Importのパラメータ 
オリジナルのインポート・パラメータ  対応するData Pump Importパラメータ 
BUFFER
 

BUFFERに相当するパラメータは不要になりました。 

CHARSET
 

CHARSETに相当するパラメータは不要になりました。 

COMMIT
 

COMMITに相当するパラメータはサポートされなくなりました。 

COMPILE
 

COMPILEに相当するパラメータはサポートされなくなりました。 

CONSTRAINTS
 

EXCLUDE=CONSTRAINT 

DATAFILES
 

TRANSPORT_DATAFILES 

DESTROY
 

REUSE_DATAFILES 

FEEDBACK
 

STATUS 

FILE
 

DUMPFILE 

FILESIZE
 

不要。ダンプ・ファイル・セットに含まれています。 

FROMUSER
 

SCHEMAS 

FULL
 

FULL 

GRANTS
 

EXCLUDE=GRANT 

HELP
 

HELP 

IGNORE
 

TABLE_EXISTS_ACTION 

INDEXES
 

EXCLUDE=INDEX 

INDEXFILE
 

SQLFILEINCLUDE INDEXも指定) 

LOG
 

LOGFILE 

PARFILE
 

PARFILE 

RECORDLENGTH
 

RECORDLENGTHに相当するパラメータは不要になりました。 

RESUMABLE
 

RESUMABLEに相当するパラメータは不要になりました。特権ユーザーの場合は、自動的にデフォルト設定で選択されます。 

RESUMABLE_NAME
 

RESUMABLE_NAMEに相当するパラメータは不要になりました。特権ユーザーの場合は、自動的にデフォルト設定で選択されます。 

RESUMABLE_TIMEOUT
 

RESUMABLE_TIMEOUTに相当するパラメータは不要になりました。特権ユーザーの場合は、自動的にデフォルト設定で選択されます。 

ROWS=N
 

CONTENT=METADATA_ONLY 

ROWS=Y
 

CONTENT=ALL 

SHOW
 

SQLFILE 

SKIP_UNUSABLE_INDEXES
 

SKIP_UNUSABLE_INDEXES 

STATISTICS
 

STATISTICSに相当するパラメータは不要になりました。ソース表に統計が含まれている場合はインポートされます。 

STREAMS_CONFIGURATION
 

STREAMS_CONFIGURATION 

STREAMS_INSTANTIATION
 

STREAMS_INSTANTIATIONに相当するパラメータは不要になりました。 

TABLES
 

TABLES 

TABLESPACES
 

このパラメータはまだ存在しますが、その機能の一部は、TRANSPORT_TABLESPACESパラメータを使用して実行されるようになりました。 

TOID_NOVALIDATE
 

TOID_NOVALIDATEに相当するコマンドは不要になりました。型比較に、OIDは使用されなくなりました。 

TOUSER
 

REMAP_SCHEMA 

TRANSPORT_TABLESPACE
 

TRANSPORT_TABLESPACES (コマンドの説明参照) 

TTS_OWNERS 
 

情報はダンプ・ファイル・セットに格納されるため、TTS_OWNERSに相当するパラメータは不要になりました。 

USERID
 

USERIDに相当するパラメータは不要になりました。この情報は、Importユーティリティの起動時に、username/passwordで指定します。 

VOLSIZE
 

テープはサポートされないため、VOLSIZEに相当するパラメータは不要になりました。 

Importユーティリティの対話方式コマンド・モードで使用可能なコマンド

対話方式コマンド・モードでは、現行のジョブは継続して実行されますが、端末へのロギングは一時停止され、インポートのプロンプトが表示されます。


注意:

Data Pump Importの対話方式コマンド・モードは、オリジナルのインポート・ユーティリティの対話方式モードとは異なります。このモードでは、入力のためのプロンプトが表示されます。オリジナルのインポート・ユーティリティの対話方式モードについては、「対話方式モード」を参照してください。 


対話方式コマンド・モードを開始するには、次のいずれかの方法を使用します。

表3-3に、現行のジョブに対して対話方式コマンド・モードでData Pump Importプロンプトから実行できる操作を示します。

表3-3    Data Pump Importの対話方式コマンド・モードでサポートされているコマンド 
操作  使用するコマンド 

対話方式コマンド・モードを終了する。 

「CONTINUE_CLIENT」 

現行のジョブは続行したままインポート・クライアント・セッションを停止する。 

「EXIT_CLIENT」 

使用可能なコマンドの概要を表示する。 

「HELP」 

現在接続中のすべてのクライアント・セッションを切断し、現行のジョブを停止する。 

「KILL_JOB」 

現行のジョブに対するアクティブなワーカー・プロセスの数を増減する。このコマンドは、Enterprise Editionのみで使用可能です。 

「PARALLEL」 

接続している停止ジョブを再開する。 

「START_JOB」 

現行のジョブの詳細な状態を表示する。 

「STATUS」 

現行のジョブを停止する。 

「STOP_JOB」 

次の項では、Data Pump Importの対話方式コマンド・モードで使用可能なコマンドについて説明します。

CONTINUE_CLIENT

用途

モードを、対話方式コマンド・モードからロギング・モードに変更します。

構文および説明

CONTINUE_CLIENT

ロギング・モードでは、ジョブの状態が端末に継続的に出力されます。ジョブが現在停止している場合、CONTINUE_CLIENTを指定すると、クライアントがジョブの開始を試みます。

Import> CONTINUE_CLIENT

EXIT_CLIENT

用途

インポート・クライアント・セッションを停止し、Importユーティリティを終了して、端末へのロギングを中断します。ただし、現行のジョブの実行は続行します。

構文および説明

EXIT_CLIENT

EXIT_CLIENTでは、ジョブが実行されたままになるため、ジョブがまだ「実行中」または「停止」状態になっている場合は、後でこのジョブに接続できます。ジョブの状態を確認するには、ジョブのログ・ファイルを監視するか、USER_DATAPUMP_JOBSビューまたはV$SESSION_LONGOPSビューを問い合せることができます。

Import> EXIT_CLIENT

HELP

用途

対話方式コマンド・モードで使用可能なData Pump Importコマンドの情報を表示します。

構文および説明

HELP

対話方式コマンド・モードで使用可能なコマンドの情報を表示します。

Import> HELP

KILL_JOB

用途

現在接続中のすべてのクライアント・セッションを切断してから、現行のジョブを停止します。Importユーティリティを終了し、端末プロンプトに戻します。

構文および説明

KILL_JOB

KILL_JOBを使用して中断されたジョブは、再開できません。接続中のすべてのクライアント(KILL_JOBコマンドを発行しているクライアントを含む)は、現在のユーザーがジョブを停止しているという警告を受け取った後、切断されます。すべてのクライアントが切断されると、ジョブのプロセス構造が即時に停止し、マスター表およびダンプ・ファイルが削除されます。ログ・ファイルは、削除されません。

Import> KILL_JOB

PARALLEL

用途

現行のジョブに対してアクティブなワーカー・プロセスの数を増減できます。

構文および説明

PARALLEL=integer

PARALLELは、コマンドライン・パラメータおよび対話方式モードのパラメータとして使用可能です。必要な数のパラレル処理を設定できます。増加処理は、リソースが十分にありパラレル化を必要とする作業量が十分にある場合は、即時に実行されます。減少処理は、既存のプロセスが現行のタスクを終了してから実行されます。整数値を小さくすると、ワーカーはアイドル状態になりますが、ジョブが終了するまで削除はされません。

参照:

並列度の詳細は、「PARALLEL」を参照してください。 

制限事項

PARALLELは、Enterprise Editionのみで使用可能です。

PARALLEL=10

START_JOB

用途

接続している現行のジョブを開始します。

構文および説明

START_JOB[=SKIP_CURRENT]

START_JOBコマンドは、(現在実行できない)接続中のジョブを再開します。ダンプ・ファイル・セットおよびマスター表が元のまま保持されている場合は、予期しない障害またはSTOP_JOBコマンドの発行後にデータの損失や破損なしにジョブが再開されます。

SKIP_CURRENTオプションは、以前一部のDDL文が失敗したために再開に失敗したジョブを再開できます。失敗する文はスキップされ、ジョブは次の項目から再開されます。

SQLFILEジョブもトランスポータブル表領域モード・インポートも再開できません。

Import> START_JOB

STATUS

用途

現行の操作の説明とともにジョブの状態を累積的に表示します。ジョブの完了率も返されます。

構文および説明

STATUS[=integer]

ロギング・モードでのこの状態の表示頻度を秒単位で指定できるオプションがあります。値を入力しなかった場合またはデフォルト値の0を使用した場合は、状態の定期表示はオフになり、状態は1回のみ表示されます。

この状態情報は、標準出力デバイスのみに書き込まれ、ログ・ファイルには(使用可能な場合でも)書き込まれません。

次の例に、2分(120秒)ごとに状態を表示する場合を示します。

STATUS=120

STOP_JOB

用途

現行のジョブを即時にまたは手順に従って停止し、Importユーティリティを終了します。

構文および説明

STOP_JOB[=IMMEDIATE]

STOP_JOBコマンド発行時または発行後にマスター表およびダンプ・ファイル・セットに障害が発生していない場合は、そのジョブに接続し、START_JOBコマンドを使用して再開できます。

手順に従って停止する場合は、関連する値を指定しないでSTOP_JOBを使用します。確認を要求する警告が発行されます。手順に従った停止では、ワーカー・プロセスで現行のタスクが終了した後、ジョブが停止されます。

即時に停止するには、STOP_JOB=IMMEDIATEを指定します。確認を要求する警告が発行されます。接続中のすべてのクライアント(STOP_JOBコマンドを発行しているクライアントを含む)は、現在のユーザーがジョブを停止および切断中であるという警告を受け取ります。すべてのクライアントが切断されると、ジョブのプロセス構造が即時に停止されます。マスター・プロセスは、ワーカー・プロセスで現行のタスクが終了するまで待機はしません。STOP_JOB=IMMEDIATEを指定した場合、データ破損やデータ損失の危険性はありません。ただし、停止時に完了しなかった一部のタスクは、再開時に再実行する必要があります。

Import> STOP_JOB=IMMEDIATE

Data Pump Importの使用例

この項では、Data Pump Importの使用例を示します。

これらの例を正しく使用するために役立つ情報については、「インポート・パラメータの使用例」を参照してください。

データのみ表モード・インポートの実行

例3-1に、employees表のデータのみ表モード・インポートの実行方法を示します。例2-1で作成されたダンプ・ファイルを使用します。

例3-1    データのみ表モード・インポートの実行

> impdp hr/hr TABLES=employees CONTENT=DATA_ONLY DUMPFILE=dpump_dir1:table.dmp
NOLOGFILE=y

CONTENT=DATA_ONLYパラメータは、すべてのデータベース・オブジェクト定義(メタデータ)をフィルタから除外します。表の行データのみロードされます。

スキーマ・モード・インポートの実行

例3-2に、例2-4で作成したダンプ・ファイル・セットのスキーマ・モード・インポートを示します。

例3-2    スキーマ・モード・インポートの実行

> impdp hr/hr SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=expschema.dmp
 EXCLUDE=CONSTRAINT,REF_CONSTRAINT,INDEX TABLE_EXISTS_ACTION=REPLACE

EXCLUDEパラメータは、インポートしたメタデータをフィルタします。指定したインポート・モードでは、EXCLUDE文に指定されたオブジェクトを除き、ソースに含まれるすべてのオブジェクトおよびその依存オブジェクトが含まれます。オブジェクトが除外されると、そのオブジェクトのすべての依存オブジェクトも除外されます。TABLE_EXISTS_ACTION=REPLACEパラメータは、Importに、すでに存在する場合は表を削除し、ダンプ・ファイルの内容を使用してその表を再作成してロードするように指定します。

ネットワーク・モード・インポートの実行

例3-3では、ソースが、NETWORK_LINKパラメータで定義されたデータベースであるネットワーク・モード・インポートを実行します。

例3-3    スキーマのネットワーク・モード・インポート

> impdp hr/hr TABLES=employees REMAP_SCHEMA=hr:scott DIRECTORY=dpump_dir1
NETWORK_LINK=dblink

この例では、hrスキーマからscottスキーマへemployees表をインポートします。dblinkは、ターゲット・データベースとは異なるソース・データベースを示します。

スキーマを再マップするには、ユーザーhrに、ローカル・データベースのIMP_FULL_DATABASEロールおよびソース・データベースのEXP_FULL_DATABASEロールが必要です。

REMAP_SCHEMAは、ソース・スキーマにあるすべてのオブジェクトをターゲット・スキーマにロードします。

参照:

データベース・リンクの詳細は、「NETWORK_LINK」を参照してください。 

Data Pump Importの構文図

この項では、Data Pump Importの構文図を示します。これらの構文図では、標準SQL構文の表記法を使用します。SQL構文の表記については、『Oracle Database SQLリファレンス』を参照してください。

ImpInit


画像の説明

ImpStart


画像の説明

ImpModes


画像の説明

ImpOpts


画像の説明

ImpOpts_Cont


画像の説明

ImpSourceFileOpts


画像の説明

ImpNetworkOpts


画像の説明

ImpDynOpts


画像の説明


戻る 次へ
Oracle
Copyright © 2005 Oracle Corporation.

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