プライマリ・コンテンツに移動
Oracle® Databaseユーティリティ
12c リリース2 (12.2)
E81328-02
目次へ移動
目次
索引へ移動
索引

前
次

3 データ・ポンプ・インポート

エクスポート・ダンプ・ファイル・セットをターゲット・データベースにロードするために使用するOracle Data Pump Importユーティリティについて説明します。また、これを使用して、ファイルを介さずにソース・データベースから直接ターゲット・データベースにロードする、ネットワーク・インポートを実行することもできます。

トピック:

3.1 データ・ポンプ・インポート・ユーティリティとは

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

また、ダンプ・ファイルを介さずに、ソース・データベースから直接ターゲット・データベースをロードするために使用することもできます。これはネットワーク・インポートと呼ばれます。

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

インポートを使用できる様々な方法の例については、「データ・ポンプ・インポートの使用例」を参照してください。

3.2 データ・ポンプ・インポートの起動

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

注意:

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

注意:

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

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

3.2.1 データ・ポンプ・インポートのインタフェース

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

  • コマンドライン・インタフェース: 直接コマンドラインでインポートのパラメータを指定できます。コマンドライン・インタフェースで使用可能なパラメータの詳細は、「インポート・ユーティリティのコマンドライン・モードで使用可能なパラメータ」を参照してください。

  • パラメータ・ファイル・インタフェース: パラメータ・ファイルでコマンドラインのパラメータを指定できます。パラメータ・ファイルはネストできないため、PARFILEパラメータのみが例外となります。値の指定に引用符が必要なパラメータを指定する場合は、パラメータ・ファイルを使用することをお薦めします。詳細は、「データ・ポンプ・コマンドラインでの引用符の使用」を参照してください。

  • 対話方式コマンド・インタフェース: 端末へのロギングを中止してインポート・ユーティリティのプロンプトを表示します。対話方式コマンド・モード固有のコマンドも含めて、様々なコマンドが入力できます。このモードは、コマンドライン・インタフェースまたはパラメータ・ファイル・インタフェースで開始されたインポート操作中に[Ctrl]キーを押しながら[C]キーを押すと使用可能になります。対話方式コマンド・モードは、実行中のジョブまたは停止されたジョブに接続した場合も使用可能になります。

    対話方式コマンド・モードで使用可能なコマンドの詳細は、「インポート・ユーティリティの対話方式コマンド・モードで使用可能なコマンド」を参照してください。

3.2.2 データ・ポンプ・インポートのモード

インポート・モードで、何をインポートするかを決定します。指定したモードは、操作のソース(ダンプ・ファイル・セットまたはNETWORK_LINKパラメータが指定されている場合は別のデータベース)に適用されます。

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

モードは、適切なパラメータを使用してコマンドラインで指定します。使用可能なモードについては、次の項で説明します。

注意:

全体モード・エクスポートによって作成されたダンプ・ファイルをインポートする場合、インポート操作はSYSアカウントのパスワードをソース・データベースからコピーしようとします。これは、失敗する場合があります(パスワードが共有パスワード・ファイル内にある場合など)。失敗した場合は、インポートの完了後に、ターゲット・データベース上のSYSアカウントのパスワードを任意のパスワードに設定する必要があります。

3.2.2.1 全体インポート・モード

全体インポートは、FULLパラメータを使用して指定します。全体インポート・モードでは、ソース(ダンプ・ファイル・セットまたは別のデータベース)の全内容がターゲット・データベースにロードされます。これは、ファイル・ベース・インポートのデフォルトです。ソースが、自分のスキーマ以外のスキーマを含む別のデータベースである場合、DATAPUMP_IMP_FULL_DATABASEロールを持っている必要があります。

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

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

全体モード・インポート時のトランスポータブル・オプションの使用

全体モード・インポート時にトランスポータブル・オプションを使用して、全体トランスポータブル・インポートを実行できます。

ネットワーク・ベースの全体トランスポータブル・インポートでは、FULL=YESTRANSPORTABLE=ALWAYSおよびTRANSPORT_DATAFILES=datafile_nameパラメータを使用する必要があります。

ファイル・ベースの全体トランスポータブル・インポートでは、TRANSPORT_DATAFILES=datafile_nameパラメータのみを使用する必要があります。データ・ポンプ・インポートでは、TRANSPORTABLE=ALWAYSおよびFULL=Yパラメータの存在が推測されます。

全体トランスポータブル・インポートを実行する場合、次のようないくつかの要件があります。

  • 同時にNETWORK_LINKパラメータを指定するか、エクスポート中にインポート対象のダンプ・ファイル・セットがトランスポータブル・オプションを使用して作成されている必要があります。

  • ネットワーク・リンクを使用する場合、NETWORK_LINKパラメータで指定されているデータベースはOracle Database 11gリリース2 (11.2.0.3)以上であり、データ・ポンプのVERSIONパラメータは12以上に設定されている必要があります。(ネットワーク・インポート以外では、ダンプ・ファイルから暗黙的にVERSION=12が決定されます。)

  • ソース・プラットフォームとターゲット・プラットフォームのエンディアンが異なる場合、転送するデータを変換してターゲット・プラットフォームの形式にする必要があります。DBMS_FILE_TRANSFERパッケージまたはRMAN CONVERTコマンドを使用してデータを変換できます。これらのオプションの使用方法の詳細は、『Oracle Database管理者ガイド』を参照してください。

  • ソース・プラットフォームとターゲット・プラットフォームのエンディアンが同じではない場合、暗号化された表領域の全体トランスポータブル・インポートは、ネットワーク・モードまたはダンプ・ファイル・モードでサポートされません。

関連項目:

  • 全体トランスポータブル・インポートの詳細な例は、『Oracle Database管理者ガイド』を参照してください。

  • インポートの「FULL」パラメータ

  • インポートの「TRANSPORTABLE」パラメータ

3.2.2.2 スキーマ・モード

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

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

関連項目:

「SCHEMAS」

3.2.2.3 表モード

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

TRANPORTABLE=ALWAYSパラメータをTABLESパラメータと組み合せて指定することで、表モードのインポート中にトランスポータブル・オプションを使用できます。これには、NETWORK_LINKパラメータも使用する必要があることに注意してください。

表および表パーティションをリカバリするには、RMANバックアップおよびRMAN RECOVER TABLEコマンドも使用できます。このプロセス中に、RMANによって、リカバリされたオブジェクトを含むデータ・ポンプ・エクスポートのダンプ・ファイルが作成(およびオプションでインポート)されます。このトピックの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

3.2.2.4 表領域モード

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

関連項目:

「TABLESPACES」

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

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

トランスポータブル・ジョブを実行する場合、ベスト・プラクティスは、インポート・ジョブがターゲット・システムで正常に完了するまで、ソース・システムにデータ・ファイルのコピーを保持することです。インポート・ジョブがなんらかの理由で失敗しても、破損していないデータ・ファイルのコピーが残ります。詳細は、「データ・ファイル・コピーを使用したデータ移動」を参照してください。

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

注意:

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

関連項目:

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

データ・ポンプ・インポート・ユーティリティの起動時、接続文字列には接続識別子を指定できます。接続識別子では、現行のOracleシステム識別子(SID)によって指定した現行のインスタンスとは別のデータベース・インスタンスを指定できます。接続識別子には、Oracle*Net接続記述子または接続記述子にマップするネット・サービス名(通常、tnsnames.oraファイルで定義される)を指定できます。接続識別子を使用するには、Oracle Net Listenerが実行中であることが必要です(デフォルト・リスナーを起動するには、lsnrctl startと入力します)。次に、inst1が接続識別子である場合のこのタイプの接続の例を示します。

impdp hr@inst1 DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp TABLES=employees

インポートによってパスワードの入力を要求されます。

Password: password

ローカル・インポート・クライアントは接続識別子inst1(ネット・サービス名)によって識別されるデータベース・インスタンスに接続し、ダンプ・ファイルhr.dmpからinst1にデータをインポートします。

インポート・ユーティリティの起動時に接続識別子を指定することと、NETWORK_LINKパラメータを使用してインポート操作を実行することは異なります。インポート操作を開始して接続識別子を指定すると、接続識別子によって識別されるデータベース・インスタンスにローカルのインポート・クライアントが接続され、コマンドラインで指定されるダンプ・ファイルからそのデータベース・インスタンスにデータがインポートされます。

一方、NETWORK_LINKパラメータを使用してインポートを実行すると、インポートはデータベース・リンクを使用して実行され、ダンプ・ファイルは含まれません。(データベース・リンクとは2つの物理データベース・サーバー間の接続で、データベース・リンクによってクライアントは2つの物理データベース・サーバーに1つの論理データベースとしてアクセスできます。)

関連項目:

  • 「NETWORK_LINK」

  • データベース・リンクの詳細は、Oracle Database管理者ガイドを参照してください。

  • 接続識別子およびOracle Net Listenerの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

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

データ・ポンプ・インポート・ユーティリティでは、データとメタデータのフィルタ処理機能を使用して、インポートする情報の種類を効果的に制限できます。

3.3.1 データ・フィルタ

データ固有のフィルタ処理は、QUERYおよびSAMPLEパラメータによって実装されます。このパラメータは、表のインポートされる行に対する制限を指定します。メタデータのフィルタ処理のため、間接的にデータのフィルタ処理が実行される場合もあります。この処理では、表オブジェクトおよび関連付けられた行データを含めたり、除外することができます。

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

3.3.2 メタデータ・フィルタ

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

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

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

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

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

DATABASE_EXPORT_OBJECTS(全体モードの場合)、SCHEMA_EXPORT_OBJECTS(スキーマ・モードの場合)、TABLE_EXPORT_OBJECTS(表および表領域モードの場合)ビューを問い合せて、有効なオブジェクト・タイプ値の一覧を表示できます。OBJECT_PATH列にリストされる値が有効なオブジェクト・タイプです。完全なオブジェクト・パス名は、インポート・モードでなくエクスポート・モードによって決定されます。

関連項目:

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

この項では、データ・ポンプ・インポート・ユーティリティのコマンドライン・モードで使用可能なパラメータについて説明します。インポート・パラメータを使用する前に、必ず次の項を読んでください。

ここで説明する内容の多くは、パラメータの使用例を含みます。使用例を実行するために必要な環境の設定の詳細は、次の項を参照してください。

インポート・パラメータの指定

値を複数個指定できるパラメータでは、カンマまたは空白で値を区切ることができます。たとえば、TABLES=employees,jobsまたはTABLES=employees jobsのように指定できます。

入力するパラメータごとに、等号(=)と値を入力する必要があります。それ以外の方法では、1つ前のパラメータ指定がどこで完了し、新しいパラメータ指定がどこから始まるかをデータ・ポンプに伝えることができません。たとえば、次のコマンドラインの場合、NOLOGFILEは有効なパラメータですが、DUMPFILEパラメータに対するダンプ・ファイル名がもう1つあると解釈されます。

impdp DIRECTORY=dpumpdir DUMPFILE=test.dmp NOLOGFILE TABLES=employees

その結果、test.dmpおよびnologfile.dmpという2つのダンプ・ファイルが作成されることになります。

これを回避するには、NOLOGFILE=YESまたはNOLOGFILE=NOのいずれかを指定します。

パラメータ値を指定する場合の大/小文字の区別

パラメータ値として入力される表領域名、スキーマ名、表名などについて、Oracle Data Pumpは、小文字または大/小文字混在で入力された値をデフォルトで大文字に変更します。たとえば、TABLE=hr.employeesと入力すると、それはTABLE=HR.EMPLOYEESに変更されます。大/小文字を維持するには、引用符で値を囲む必要があります。たとえば、TABLE="hr.employees"とすると、表名がすべて小文字のまま維持されます。入力する名前は、データベースに格納されている名前と完全に一致する必要があります。

データ・ポンプ・コマンドラインでの引用符の使用

一部のオペレーティング・システムでは引用符が特殊文字として処理されるため、バックスラッシュ(\)などのエスケープ文字を前に付けないと、アプリケーションに正しく渡されません。これは、コマンドラインとパラメータ・ファイル内の両方に当てはまります。また、オペレーティング・システムによっては、コマンドラインで、特殊文字を含むパラメータ値全体を一重引用符または二重引用符で囲む必要があります。

次の例では、これらの概念を説明します。特定のオペレーティング・システムに該当しない場合があること、および各ユーザーに固有の運用環境は想定していないことに注意してください。

次のように、パラメータ・ファイルでTABLESパラメータを指定するとします。

TABLES = \"MixedCaseTableName\"

これをコマンドラインで指定するとき、一部のオペレーティング・システムでは、次のように一重引用符で囲む必要があります。

TABLES = '\"MixedCaseTableName\"'

コマンドラインで追加の引用符を指定せずに手順を続行するには、パラメータ・ファイルを使用することをお薦めします。また、パラメータ・ファイルを使用し、指定するパラメータ値の文字列の最初の文字に引用符を使用しない場合(たとえば、TABLES=scott."EmP")は、エスケープ文字の使用が不要になるシステムがあることに注意してください。

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

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

  • 例に示すようにユーザー名およびパラメータを入力した後、インポート・ユーティリティが起動され、パスワードの入力が要求されます。データベース接続が行われる前に、パスワードを入力する必要があります。

  • ここに示す例の多くは、Oracle Databaseのインストール時にデフォルトでインストールされるシード・データベースのサンプル・スキーマを使用しています。特に、人事管理(hr)スキーマを頻繁に使用します。

  • インポートするダンプ・ファイルを指定する例では、そのダンプ・ファイルが存在するものとします。可能なかぎり、「データ・ポンプ・エクスポート」のエクスポートの例を実行して生成されるダンプ・ファイルを使用します。

  • この例では、ディレクトリ・オブジェクトdpump_dir1およびdpump_dir2がすでに存在し、これらのディレクトリ・オブジェクトについてのREAD権限およびWRITE権限が、hrユーザーに付与されているものとします。ディレクトリ・オブジェクトの作成および権限の割当ての詳細は、「ダンプ・ファイル、ログ・ファイルおよびSQLファイルのデフォルトの位置」を参照してください。

  • 一部の例では、DATAPUMP_EXP_FULL_DATABASEロールおよびDATAPUMP_IMP_FULL_DATABASEロールが必要です。その例では、hrユーザーにこれらのロールが付与されているものとします。

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

これらのパラメータの構文図は、「データ・ポンプ・インポートの構文図」を参照してください。

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

関連項目:

3.4.1 ABORT_STEP

デフォルト: NULL

用途

ジョブの初期化後に、そのジョブを停止する場合に使用します。これによって、データがインポートされる前に、マスター表への問合せが可能となります。

構文および説明

ABORT_STEP=[n | -1]

指定可能な値は、マスター表内のプロセス・オーダー番号と対応しています。各番号の使用結果は次のとおりです。

  • n: 値が0以上の場合は、インポート操作が開始され、対応するプロセス・オーダー番号を持つ、マスター表に格納されているオブジェクトでジョブが中断されます。

  • -1およびジョブがNETWORK_LINKを使用するインポートの場合: ジョブの設定後(ただし、いずれかのオブジェクトのインポート前)に中断します。

  • -1およびジョブがNETWORK_LINKを使用しないインポートの場合: マスター表をロードしてフィルタを適用した後に、ジョブを中断します。

制限事項

  • なし

> impdp hr SCHEMAS=hr DIRECTORY=dpump_dir1 LOGFILE=schemas.log
DUMPFILE=expdat.dmp ABORT_STEP=-1 

3.4.2 ACCESS_METHOD

デフォルト: AUTOMATIC

用途

インポート・ユーティリティで特定のメソッドを使用してデータをロードするように指定します。

構文および説明

ACCESS_METHOD=[AUTOMATIC | DIRECT_PATH | EXTERNAL_TABLE | CONVENTIONAL_PATH | INSERT_AS_SELECT]

デフォルトのメソッドがなんらかの理由で動作しない場合に別のネイティブ・メソッドを試行できるように、ACCESS_METHODパラメータが提供されます。指定したアクセス方法で表のデータをロードできない場合は、データに表のエラーが表示され、次の作業項目に進みます。

使用可能なオプションは次のとおりです。

  • AUTOMATIC: これがデフォルトです。それぞれの表について、データをロードする最適な方法がデータ・ポンプによって判断されます。できるだけAUTOMATICを使用することをお薦めします。これは、データ・ポンプが最も効果的な方法を自動的に選択できるようになるためです。

  • DIRECT_PATH: データ・ポンプによって、すべての表に対して、ダイレクト・パス・ロードが使用されます。

  • EXTERNAL_TABLE: データ・ポンプによって、ダンプ・ファイルに格納されているデータに対する外部表が作成され、SQL文INSERT AS SELECTを使用してデータが表にロードされます。データ・ポンプによって、APPENDヒントがINSERT文に適用されます。

  • CONVENTIONAL_PATH: データ・ポンプによって、ダンプ・ファイルに格納されているデータに対する外部表が作成され、外部表から1つずつ行が読み取られます。データ・ポンプでは、行を読み取るたびにinsert文を実行して、その行をターゲット表にロードします。この方法は、データのロードに時間がかかるものの、ダイレクト・パスおよび外部表によってロードできないデータをロードする唯一の方法となります。

  • INSERT_AS_SELECT: データ・ポンプによって、リモート・データベースからデータを選択するSQL文INSERT AS SELECTを実行することによって表がロードされ、ターゲット表に挿入されます。このオプションは、ネットワーク・モード・インポートでのみ使用できます。ネットワーク経由でデータを移動するときにDIRECT_PATHの使用を無効にする場合は、これを使用します。

制限事項

  • ネットワーク・モード・インポートで有効なオプションは、AUTOMATICDIRECT_PATHおよびINSERT_AS_SELECTです。

  • ダンプ・ファイルからインポートするときに有効なオプションは、AUTOMATICDIRECT_PATHEXTERNAL_TABLEおよびCONVENTIONAL_PATHのみです。

  • ネットワーク・インポートでACCESS_METHODパラメータを使用するには、Oracle Database 12c リリース2 (12.2.0.1)以上を使用している必要があります。

次の例では、データ・ポンプで既存の表SALESの複数のパーティションのデータを同時にロードできます。

> impdp sh DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp TABLES=SALES PARALLEL=2 DATA_OPTIONS=DEPARTITION_TABLE_DATA 

3.4.3 ATTACH

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

用途

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

構文および説明

ATTACH [=[schema_name.]job_name]

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

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

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

制限事項

  • ATTACHパラメータを指定する場合、コマンドラインで他に指定できるデータ・ポンプ・パラメータは、ENCRYPTION_PASSWORDのみです。

  • 接続するジョブが最初に暗号化パスワードを使用して起動している場合、そのジョブへの接続時に、コマンドライン上のENCRYPTION_PASSWORDパラメータを再入力してそのパスワードを再指定する必要があります。

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

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

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

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

> impdp hr ATTACH=import_job

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

3.4.4 CLUSTER

デフォルト: YES

用途

データ・ポンプでOracle Real Application Clusters(Oracle RAC)リソースを使用できるかどうかと、ワーカーを他のOracle RACインスタンス上で開始できるかどうかを決定します。

構文および説明

CLUSTER=[YES | NO]

データ・ポンプ・インポートで、ジョブが開始されたインスタンスのみを使用し、Oracle Database 11g リリース2(11.2)より前の動作と同じにするには、CLUSTER=NOを指定します。

特定の既存サービスを指定し、そのサービスに定義されたインスタンスでのみ実行されるようにワーカー・プロセスを制限するには、SERVICE_NAMEパラメータとCLUSTER=YESパラメータとともに使用します。

CLUSTERパラメータを使用すると、インポート・ジョブをOracle RACインスタンス全体に分散させるための追加のオーバーヘッドが発生するため、パフォーマンスに影響する場合があります。ジョブが小さいときは、CLUSTER=NOを指定して、ジョブが開始されたインスタンス上のみでジョブを実行した方がよい場合もあります。CLUSTERパラメータを使用してジョブのパフォーマンスが最もよくなるのは、ジョブのデータ量が多い場合です。

> impdp hr DIRECTORY=dpump_dir1 SCHEMAS=hr CLUSTER=NO PARALLEL=3 NETWORK_LINK=dbs1

この例では、hrスキーマのスキーマ・モード・インポートを実行します。CLUSTER=NOが使用されているため、ジョブでは起動時のインスタンスのみが使用されます。最大3つまでのパラレル処理を使用できます。dbs1NETWORK_LINK値は、データのインポート元であるソース・データベース名に置き換えます。(これはネットワーク・インポートであるため、ダンプ・ファイルは生成されません。)

NETWORK_LINKパラメータは、単にこの例の一部として使用されています。CLUSTERパラメータの使用時は必須ではありません。

3.4.5 CONTENT

デフォルト: ALL

用途

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

構文および説明

CONTENT=[ALL | DATA_ONLY | METADATA_ONLY]
  • ALLを指定すると、ソースに含まれているすべてのデータおよびメタデータがロードされます。これはデフォルトです。

  • DATA_ONLYを指定すると、表の行データのみが既存の表にロードされます。データベース・オブジェクトは作成されません。

  • METADATA_ONLYを指定すると、データベース・オブジェクト定義のみがロードされ、表の行データはロードされません。CONTENT=METADATA_ONLYを指定した場合、ダンプ・ファイルからインポートされる任意の索引または表の統計は、インポート操作の完了後にロックされることに注意してください。

制限事項

  • CONTENT=METADATA_ONLYパラメータおよび値は、TRANSPORT_TABLESPACES(トランスポータブル表領域モード)パラメータまたはQUERYパラメータと組み合せて使用することはできません。

  • CONTENT=ALLおよびCONTENT=DATA_ONLYパラメータおよび値は、SQLFILEパラメータと組み合せて使用することはできません。

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

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

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

3.4.6 DATA_OPTIONS

デフォルト: デフォルト値は設定されていません。このパラメータが使用されていない場合、このパラメータが提供する特別なデータ処理オプションは無効になります。

用途

DATA_OPTIONSパラメータは、インポート操作時に特定のタイプのデータをどのように処理するかを指定します。

構文および説明

DATA_OPTIONS = [DISABLE_APPEND_HINT | SKIP_CONSTRAINT_ERRORS | ENABLE_NETWORK_COMPRESSION | REJECT_ROWS_WITH_REPL_CHAR | 
TRUST_EXISTING_TABLE_PARTITIONS | VALIDATE_TABLE_DATA]
  • DISABLE_APPEND_HINT: インポート操作で、データ・オブジェクトのロード時にAPPENDヒントを使用しないことを指定します。ロードするデータ・オブジェクトの一部がすでにデータベースに存在し、1つ以上のデータ・オブジェクトに対して他のアプリケーションから同時にアクセスされる可能性がある場合は、APPENDヒントを無効にしたほうが効果的な場合があります。

    DISABLE_APPEND_HINTを設定しない場合は、デフォルトの動作によりデータ・オブジェクトのロード中にAPPENDヒントが使用されます。

  • SKIP_CONSTRAINT_ERRORS: データ・オブジェクト(表、パーティションまたはサブパーティション)をロードする際の、非遅延制約違反の処理方法に適用されます。遅延制約違反が発生しても、ロードへの影響はありません。遅延制約違反は常に、ロード全体のロール・バックの原因となります。

    SKIP_CONSTRAINT_ERRORSオプションでは、非遅延の制約違反が発生した場合もインポート操作を続行することを指定します。非遅延の制約違反の原因となっているすべての行はログに記録されますが、違反が発生しているデータ・オブジェクトのロードは停止されません。

    SKIP_CONSTRAINT_ERRORSが設定されていない場合のデフォルトの動作では、非遅延の制約違反が発生しているデータ・オブジェクトのロード全体がロール・バックされます。

  • ENABLE_NETWORK_COMPRESSION: リモート表データをロードするためのデータ・ポンプのACCESS_METHODパラメータがDIRECT_PATHに設定されている場合に、ネットワーク・インポートで使用されます。ENABLE_NETWORK_COMPRESSIONをすると、データ・ポンプによってデータがリモート・ノードで圧縮され、ネットワークを経由してターゲット・データベースに送信された後、そこで解凍されます。リモート・データベースとローカル・データベースの間のネットワーク接続の速度が低い場合は、ネットワークを経由して送信されるデータの量が減少するため、このオプションが役立ちます。

    ACCESS_METHOD=AUTOMATICであり、データ・ポンプがネットワーク・インポートにDIRECT_PATHを使用することを決定した場合、ENABLE_NETWORK_COMPRESSIONも適用されます。

    データ・ポンプがダンプ・ファイルからデータをインポートする場合、リモート・データベースがOracle Database 12c リリース2 (12.2)より前の場合、またはINSERT_AS_SELECT文を使用してリモート・データベースからデータをロードする場合、ENABLE_NETWORK_COMPRESSIONオプションは無視されます。

  • REJECT_ROWS_WITH_REPL_CHAR: キャラクタ・セットの変換中にデフォルトの置換文字が使用されていたためにデータ損失が発生したすべての行をインポート操作で拒否するように指定します。

    REJECT_ROWS_WITH_REPL_CHARが設定されていない場合、デフォルトの動作では、置換文字で変換された行がロードされます。

  • TRUST_EXISTING_TABLE_PARTITIONS: パーティション・データをパラレルで既存の表にロードするようにデータ・ポンプに指示します。データ・ポンプを使用してエクスポート・データベース内の定義から表を作成した後で表データ・インポートを開始する場合は、このオプションを使用する必要があります。これは、メタデータが静的で、データを移行するためにデータベースをオフラインにする前に移動できる場合に、移行の一環として行われます。メタデータを別々に移動すると、停止時間が最小限になります。このオプションを使用した場合、データベースの他の属性(キャラクタ・セットなど)が同じであれば、エクスポート・データベースからのデータはインポート・データベース内の同じパーティションに移動します。

    データ・ポンプ外部で表を作成することもできますが、パーティション属性およびパーティション名はエクスポート・データと同じである必要があります。

  • VALIDATE_TABLE_DATA: 表データ列の数値および日付データ型を検査するようにデータ・ポンプに指示します。無効なデータが見つかると、ORA-39376エラーが.logファイルに書き込まれます。エラー・テキストには列名が含まれます。デフォルトでは妥当性チェックは行われません。データ・ポンプのダンプ・ファイルのソースが信頼できない場合は、このオプションを使用します。

制限事項

  • DISABLE_APPEND_HINTを使用すると、データ・オブジェクトのロードにかかる時間が長くなる場合があります。

  • SKIP_CONSTRAINT_ERRORSが使用され、データ・オブジェクトがロード時にそのデータ・オブジェクトに対して定義された一意の索引または制約を持つ場合、そのデータ・オブジェクトのロードにAPPENDヒントは使用されません。したがって、SKIP_CONSTRAINT_ERRORSオプションを使用した場合、このようなデータ・オブジェクトのロードにはより時間がかかります。

  • データ・オブジェクトが外部表によるアクセス方法を使用せずにロードされている場合、SKIP_CONSTRAINT_ERRORSは、たとえ指定されていても使用されません。

この例では、SKIP_CONSTRAINT_ERRORSが有効化されているデータのみの表モード・インポートを示します。

> impdp hr TABLES=employees CONTENT=DATA_ONLY 
DUMPFILE=dpump_dir1:table.dmp DATA_OPTIONS=skip_constraint_errors

このインポート操作中に非遅延の制約違反が発生した場合、それはログに記録されますが、インポートは完了するまで続行されます。

3.4.7 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 DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp 
LOGFILE=dpump_dir2:expfull.log

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

関連項目:

3.4.8 DUMPFILE

デフォルト: expdat.dmp

用途

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

構文および説明

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

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

file_nameには、ダンプ・ファイル・セット内のファイルの名前を指定します。ファイル名には、置換変数を含むテンプレートを指定することもできます。インポートでは、テンプレートと一致する各ファイルが(一致するファイルが検出されなくなるまで)調べられ、ダンプ・ファイル・セットの一部となるすべてのファイルの位置が特定されます。DUMPFILEパラメータでのファイル指定にセット全体が含まれている場合は、インポート・ユーティリティでセット全体の位置を特定するための十分な情報がファイルに含まれます。ファイルの名前、位置または順序は、エクスポート時と同じである必要はありません。

次の表に、使用可能な置換変数を示します。

置換変数 説明
%U %Uを使用すると、%Uが01から増加する2桁の整数に変換されます。
%l, %L システムによって生成される一意のファイル名を指定します。

ファイル名には、複数のファイルを生成できることを示す置換変数(%L)を含めることができます。生成されるファイル名では、置換変数が、01から99まで増加する固定幅の2桁の整数(%Uと同じ)に変換されます。また、生成されるファイル名では、置換変数が、100から2147483646まで増加する3桁から10桁までの可変幅の整数に変換されます。幅フィールドは、整数の桁数によって決まります。

たとえば、現在の整数が1の場合、exp%Laa%L.dmpは次のように解決されます。
exp01aa01.dmp
exp02aa02.dmp
以降、99までは同様に続きます。その次のファイル名では3桁に置換されます。
exp100aa100.dmp
exp101aa101.dmp

以降、999まで同様に続き、その次のファイルでは4桁に置換されます。最大許容置換数(2147483646)まで、置換が続きます。

制限事項

  • データ・ポンプのパラメータVERSION=12を使用してOracle Database 11gリリースで作成したダンプ・ファイルは、Oracle Database 12cリリース1 (12.1)以上でのみインポートできます。

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

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

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

3.4.9 ENCRYPTION_PASSWORD

デフォルト: デフォルト値は設定されていません。ユーザーが値を指定します。

用途

ダンプ・ファイル・セット内の暗号化列のデータにアクセスするためのパスワードを指定します。これにより、暗号化されたダンプ・ファイル・セットへの不正なアクセスを防ぎます。

これは、全体トランスポータブル・エクスポートまたはインポート操作中に、暗号化された表領域および暗号化された列を含む表に関連するキーを転送する場合にも必要です。

入力したパスワードは画面に表示されます。パスワードを入力時に画面に表示しない場合、ENCRYPTION_PWD_PROMPTパラメータを使用します。

構文および説明

ENCRYPTION_PASSWORD = password

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

制限事項

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

  • データ・ポンプの暗号化機能を使用するには、Oracle Advanced Securityオプションが有効である必要があります。Oracle Advanced Securityオプションのライセンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。

  • ダンプ・ファイル・セットが暗号化の透過モードを使用して作成されている場合、ENCRYPTION_PASSWORDパラメータは無効です。

  • ENCRYPTION_PASSWORDパラメータは、暗号化された表領域または暗号化された列を含む表がソース・データベースに存在するネットワーク・ベースの全体トランスポータブル・インポートでは必須です。

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

    • EMPNO列を暗号化してEMP表をエクスポートし、表をインポートする前にEMPNO列から暗号化属性を削除する。

    • EMPNO列を暗号化せずにEMP表をエクスポートし、表をインポートする前にEMPNO列の暗号化を有効にする。

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

> impdp hr TABLES=employee_s_encrypt DIRECTORY=dpump_dir
  DUMPFILE=dpcd2be1.dmp ENCRYPTION_PASSWORD=123456

インポート操作時、エクスポート操作時に暗号化されたemployee_s_encrypt表のすべての列は、複合化されてからインポートされます。

3.4.10 ENCRYPTION_PWD_PROMPT

デフォルト: NO

用途

データ・ポンプによって暗号化パスワードの入力を要求するかどうかを指定します。

構文および説明

ENCRYPTION_PWD_PROMPT=[YES | NO]

コマンドラインでENCRYPTION_PWD_PROMPT=YESと指定すると、ENCRYPTION_PASSWORDパラメータを使用してコマンドラインでパスワードを入力するかわりに、データ・ポンプによって暗号化パスワードの入力を要求されます。この方法のメリットは、プロンプトで入力すると、暗号化パスワードが画面に表示されないことです。これに対し、ENCRYPTION_PASSWORDパラメータを使用してコマンドラインで入力すると、それがプレーン・テキストで表示されます。

プロンプトで入力する暗号化パスワードは、ENCRYPTION_PASSWORDパラメータで説明されているものと同じ基準に従います。

エクスポート操作で暗号化パスワードを指定した場合、インポート操作でもそれを指定する必要があります。

制限事項

  • ENCRYPTION_PWD_PROMPTパラメータとENCRYPTION_PASSWORDパラメータの同時使用は禁止されています。

次の例では、データ・ポンプによって最初にユーザー・パスワードが要求され、次に暗号化パスワードが要求されます。

> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp ENCRYPTION_PWD_PROMPT=YES
.
.
.
Copyright (c) 1982, 2016, Oracle and/or its affiliates.  All rights reserved.

Password:
 
Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
 
Encryption Password: 

Master table "HR"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "HR"."SYS_IMPORT_FULL_01":  hr/******** directory=dpump_dir1 dumpfile=hr.dmp encryption_pwd_prompt=Y
.
.
.

3.4.11 ESTIMATE

デフォルト: BLOCKS

用途

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

構文および説明

ESTIMATE=[BLOCKS | STATISTICS]

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

  • BLOCKS: 見積りは、ソース・オブジェクトで使用されるデータベース・ブロックの数に、適切なブロック・サイズを掛けて計算されます。

  • STATISTICS: 見積りは、表別の統計を使用して計算されます。この方法による見積りをできるかぎり正確にするには、すべての表を新しく分析しておく必要があります。(表の分析は、SQL ANALYZE文またはDBMS_STATS PL/SQLパッケージのいずれかで実行可能です。)

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

制限事項

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

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

  • QUERYまたはREMAP_DATAパラメータのいずれかを使用している場合は、見積りが不正確になることがあります。

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

> impdp hr TABLES=job_history NETWORK_LINK=source_database_link
  DIRECTORY=dpump_dir1 ESTIMATE=STATISTICS 

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

3.4.12 EXCLUDE

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

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

object_typeは除外するオブジェクトのタイプを指定します。DATABASE_EXPORT_OBJECTS(全体モードの場合)、SCHEMA_EXPORT_OBJECTS(スキーマ・モードの場合)、TABLE_EXPORT_OBJECTS(表および表領域モードの場合)ビューを問い合せて、object_typeの有効な値の一覧を表示できます。OBJECT_PATH列にリストされる値が有効なオブジェクト・タイプです。(このような問合せの実行方法の例は、「メタデータのフィルタ」を参照してください。)

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

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

name_clauseに指定する名前は、データベース内の既存のオブジェクトに、大文字と小文字も含めて完全に一致させる必要があります。たとえば、指定するname_clauseEMPLOYEESという表に対するものだった場合は、すべてが大文字のEMPLOYEESという表が存在する必要があります。name_clauseに対してEmployeesemployeesなどを指定した場合、表は検出されません。

2つ以上のEXCLUDE文を指定できます。

オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。

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

制約の除外

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

  • 表の作成とロードを正常に行うために必要な制約。たとえば、索引構成表の主キー制約、REF列を持つ表のREF SCOPEおよびWITH ROWID制約など。

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

  • EXCLUDE=CONSTRAINTは、表の正常な作成およびロードに必要な制約を除く、すべての非参照制約を除外します。

  • EXCLUDE=REF_CONSTRAINTは、参照整合性(外部キー)制約を除外します。

権限とユーザーの除外

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

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

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

impdp FULL=YES DUMPFILE=expfull.dmp EXCLUDE=SCHEMA:"='HR'"

ここで、インポート・モードがFULLに指定されていることに注意してください。モードを指定しなかった場合は、デフォルト・モードのSCHEMASが使用されます。その場合は、スキーマをインポートすると同時に除外するようコマンドが指示することになるため、エラーが発生します。

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

制限事項

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

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

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

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

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

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

関連項目:

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

「データ・ポンプ・コマンドラインでの引用符の使用」

3.4.13 FLASHBACK_SCN

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

FLASHBACK_SCN=scn_number

インポート操作は、指定したscn_numberまでの一貫性のあるデータを使用して実行されます。

Oracle Database 12c リリース2 (12.2)からは、SCN値をビッグSCN (8バイト)にすることができます。ビッグSCNの使用の詳細は、次の制限事項を参照してください。

注意:

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

制限事項

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

  • FLASHBACK_SCNパラメータは、Oracle Databaseのフラッシュバック問合せ機能にのみ関係します。フラッシュバック・データベース、フラッシュバック削除およびフラッシュバック・データ・アーカイブには適用できません。

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

  • ビッグSCNをサポートしていないバージョンからのネットワーク・エクスポートまたはネットワーク・インポートに対して、ビッグSCNを指定することはできません。

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

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

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

3.4.14 FLASHBACK_TIME

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

FLASHBACK_TIME="TO_TIMESTAMP()"

指定された時刻に最も近いSCNを検出し、このSCNを使用してフラッシュバック・ユーティリティを使用可能にします。インポート操作は、このSCNまでの一貫性のあるデータを使用して実行されます。TO_TIMESTAMPの値は引用符で囲まれるため、パラメータ・ファイルに記述することをお薦めします。詳細は、「データ・ポンプ・コマンドラインでの引用符の使用」を参照してください。

注意:

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

制限事項

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

  • FLASHBACK_TIMEパラメータは、Oracle Databaseのフラッシュバック問合せ機能にのみ関係します。フラッシュバック・データベース、フラッシュバック削除およびフラッシュバック・データ・アーカイブには適用できません。

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

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

FLASHBACK_TIME="TO_TIMESTAMP('27-10-2012 13:40:00', 'DD-MM-YYYY HH24:MI:SS')"

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

> impdp hr DIRECTORY=dpump_dir1 PARFILE=flashback_imp.par NETWORK_LINK=source_database_link

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

関連項目:

フラッシュバックの使用方法の詳細は、『Oracle Database開発ガイド』を参照してください。

3.4.15 FULL

デフォルト: YES

用途

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

構文および説明

FULL=YES

FULL=YESの値は、ソースからのすべてのデータおよびメタデータがインポートされることを示します。ソースは、ダンプ・ファイル・セットにするか(ファイル・ベース・インポートの場合)、NETWORK_LINKパラメータで指定された別のデータベースにすることができます(ネットワーク・インポートの場合)。

ファイルからインポートする際に、DATAPUMP_IMP_FULL_DATABASEロールを持っていない場合、自分のスキーマにマップするスキーマのみインポートされます。

NETWORK_LINKパラメータが使用され、インポート・ジョブを実行するユーザーがターゲット・データベースのDATAPUMP_IMP_FULL_DATABASEロールを持っている場合、そのユーザーは、ソース・データベースのDATAPUMP_EXP_FULL_DATABASEロールも持っている必要があります。

このモードを使用したインポート対象を、フィルタ処理によってより詳細に制限できます(詳細は、「インポート操作中のフィルタ処理」を参照してください)。

FULLはデフォルトのモードで、ファイル・ベースのインポートを実行している場合、コマンドラインで指定する必要はありませんが、ネットワーク・ベースの全体インポートを実行している場合は、コマンドラインでFULL=Yを指定する必要があります。

全体モード・インポート時にトランスポータブル・オプションを使用して、全体トランスポータブル・インポートを実行できます。「全体モード・インポート時のトランスポータブル・オプションの使用」を参照してください。

制限事項

  • 自動ワークロード・リポジトリ(AWR)は、全データベースのエクスポートおよびインポート操作では移動されません。(データ・ポンプを使用してAWRスナップショットを移動する方法の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。)

  • XDBリポジトリは、全データベースのエクスポートおよびインポート操作では移動されません。ユーザーが作成したXMLスキーマは移動されます。

  • ターゲットがOracle Database 12cリリース1 (12.1.0.1)以降で、ソースがOracle Database 11gリリース2 (11.2.0.3)以降である場合、ネットワーク・リンクで実行される全体インポートでは、VERSION=12を設定する必要があります。

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

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

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

3.4.16 HELP

デフォルト: NO

用途

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

構文および説明

HELP=YES

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

> impdp HELP = YES

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

3.4.17 INCLUDE

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

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

object_typeは含めるオブジェクトのタイプを指定します。DATABASE_EXPORT_OBJECTS(全体モードの場合)、SCHEMA_EXPORT_OBJECTS(スキーマ・モードの場合)、TABLE_EXPORT_OBJECTS(表および表領域モードの場合)ビューを問い合せて、object_typeの有効な値の一覧を表示できます。OBJECT_PATH列にリストされる値が有効なオブジェクト・タイプです。(このような問合せの実行方法の例は、「メタデータのフィルタ」を参照してください。)

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

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

name_clauseに指定する名前は、データベース内の既存のオブジェクトに、大文字と小文字も含めて完全に一致させる必要があります。たとえば、指定するname_clauseEMPLOYEESという表に対するものだった場合は、すべてが大文字のEMPLOYEESという表が存在する必要があります。name_clauseに対してEmployeesemployeesなどを指定した場合、表は検出されません。

2つ以上のINCLUDE文を指定できます。

オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。詳細は、「データ・ポンプ・コマンドラインでの引用符の使用」を参照してください。

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

制限事項

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

DBAまたはDATAPUMP_IMP_FULL_DATABASEロールを持つ他のユーザーが、パラメータ・ファイルimp_include.parで次のように実行するとします。

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

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

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

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

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

3.4.18 JOB_NAME

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

用途

ジョブ名は、ジョブへの接続にATTACHパラメータを使用したり、DBA_DATAPUMP_JOBSまたはUSER_DATAPUMP_JOBSビューを使用してジョブを指定する場合など、後続処理でインポート・ジョブを指定するために使用されます。

構文および説明

JOB_NAME=jobname_string

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

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

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

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

3.4.19 KEEP_MASTER

デフォルト: NO

用途

正常に完了したデータ・ポンプ・ジョブの最後に、マスター表を削除するか、または保持するかを示します。ジョブが正常に完了しなかった場合、マスター表は自動的に保持されます。

構文および説明

KEEP_MASTER=[YES | NO]

制限事項

  • なし

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

3.4.20 LOGFILE

デフォルト: import.log

用途

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

構文および説明

LOGFILE=[directory_object:]file_name

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

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

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

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

注意:

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

制限事項

  • Oracle Automatic Storage Management (Oracle ASM)を使用してデータ・ポンプ・インポートを実行する場合、LOGFILEパラメータは、Oracle ASMの+表記法を使用せずにディレクトリ・オブジェクトを指定する必要があります。つまり、ログ・ファイルはディスク・ファイルに書き込まれ、Oracle ASMの記憶域には書き込まれません。かわりに、NOLOGFILE=YESを指定することもできます。ただし、この場合はログ・ファイルの書込みは行われません。

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

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

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

関連項目:

3.4.21 LOGTIME

デフォルト: タイムスタンプは記録されません。

用途

インポート操作中に表示されるメッセージにタイムスタンプを付けるように指定します。タイムスタンプを使用して、データ・ポンプ操作の異なるフェーズ間の経過時間を計算できます。この情報は、パフォーマンス問題を診断する場合や、将来の同じような操作の時間を見積もる場合に役立ちます。

構文および説明

LOGTIME=[NONE | STATUS | LOGFILE | ALL]

使用可能なオプションの定義は次のとおりです。

  • NONE: ステータス・メッセージまたはログ・ファイル・メッセージにタイムスタンプを付けません(デフォルトと同じ)。

  • STATUS: ステータス・メッセージにのみタイムスタンプを付けます。

  • LOGFILE: ログ・ファイル・メッセージにのみタイムスタンプを付けます。

  • ALL: ステータス・メッセージとログ・ファイル・メッセージの両方にタイムスタンプを付けます。

制限事項

  • なし

次の例では、インポート操作中に表示されるすべてのステータス・メッセージとログ・ファイル・メッセージにタイムスタンプを記録します。

> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr LOGTIME=ALL TABLE_EXISTS_ACTION=REPLACE

LOGTIMEの出力例は、エクスポートの「LOGTIME」パラメータを参照してください。

3.4.22 MASTER_ONLY

デフォルト: NO

用途

マスター表の内容を確認できるように、マスター表のみをインポートしてジョブを停止するかどうかを示します。

構文および説明

MASTER_ONLY=[YES | NO]

制限事項

  • NETWORK_LINKパラメータも指定する場合、MASTER_ONLY=YESはサポートされません。

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

3.4.23 METRICS

デフォルト: NO

用途

ジョブに関する詳細情報をデータ・ポンプ・ログ・ファイルに記録するかどうかを示します。

構文および説明

METRICS=[YES | NO]

METRICS=YESを使用すると、オブジェクト数および経過時間がデータ・ポンプ・ログ・ファイルに記録されます。

制限事項

  • なし

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

3.4.24 NETWORK_LINK

デフォルト: デフォルト値は設定されていません。

用途

有効なデータベース・リンクによって指定される(ソース)データベースからのインポートを使用可能にします。ソース・データベース・インスタンスのデータは、接続されたデータベース・インスタンスに直接書き込まれます。

構文および説明

NETWORK_LINK=source_database_link

NETWORK_LINKパラメータは、データベース・リンクを使用してインポートを開始します。つまり、impdpクライアントの接続先となるシステムから、source_database_linkで指定されたソース・データベースに接続し、そこからデータを取り出して、接続されたインスタンスのデータベースに直接書き込みます。ダンプ・ファイルは含まれません。

source_database_linkには、使用可能なデータベースへのデータベース・リンク名を指定する必要があります。対象インスタンスのデータベースにデータベース・リンクが指定されていない場合、ユーザーまたはDBAが、SQL CREATE DATABASE LINK文を使用してデータベース・リンクを作成する必要があります。

トランスポータブル・メソッドを使用してネットワーク・インポートを実行する場合は、インポートを開始する前に、ソース・データ・ファイルをターゲット・データベースにコピーする必要があります。

ソース・データベースが読取り専用の場合、接続されたユーザーは、デフォルト一時表領域として割り当てられたローカル管理一時表領域をソース・データベース上に持つ必要があります。それ以外の場合、ジョブは失敗します。

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

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

  • パブリック固定ユーザー

  • パブリック接続ユーザー

  • パブリック共有ユーザー(リンク所有者により使用される場合のみ)

  • プライベート共有ユーザー(リンク所有者により使用される場合のみ)

  • プライベート固定ユーザー(リンク所有者により使用される場合のみ)

注意:

暗号化されていないネットワーク・リンクを介してインポート操作が行われる場合、すべてのデータはクリア・テキストとしてインポートされます。これは、データがデータベースで暗号化されている場合でも同様です。ネットワーク・セキュリティの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

制限事項

  • データ・ポンプ・インポートでは、次のタイプのデータベース・リンクの使用はサポートされていません。

    • プライベート接続ユーザー

    • 現在のユーザー

  • ContentTypeセットがあるSecureFiles、または現在Oracle Database File System Linksを介してSecureFilesセグメントの外に格納されているSecureFilesが表に含まれている場合、インポートのNETWORK_LINKパラメータはサポートされません。

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

  • データ・ポンプ操作がネットワーク・リンクを介して行われる場合、ソース・データベースとターゲット・データベースのバージョンの差違が2バージョン以下である必要があります。たとえば、一方のデータベースがOracle Database 12cの場合、他方のデータベースは12c、11gまたは10gである必要があります。データ・ポンプがチェックするのはメジャー・バージョン番号のみ(10g、11g、12cなど)で、具体的なリリース番号(12.1、12.2、11.1、11.2、10.1、10.2など)ではありません。

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

  • ネットワーク・モード・インポートではパラレル問合せ(PQ)スレーブは使用されません。「ネットワーク・モード・インポートにおけるPARALLELの使用」を参照してください。

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

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

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

関連項目:

  • データベース・リンクの詳細は、Oracle Database管理者ガイドを参照してください。

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

  • ローカル管理表領域の詳細は、『Oracle Database管理者ガイド』を参照してください。

3.4.25 NOLOGFILE

デフォルト: NO

用途

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

構文および説明

NOLOGFILE=[YES | NO]

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

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

> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp NOLOGFILE=YES

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

3.4.26 PARALLEL

デフォルト: 1

用途

インポート・ジョブのために動作するアクティブな実行プロセスの最大数を指定します。

構文および説明

PARALLEL=integer

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

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

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

ネットワーク・モード・インポートにおけるPARALLELの使用

ネットワーク・モード・インポート中、PARALLELパラメータによって、ジョブに割り当てることができるワーカー・プロセスの最大数が定義されます。ネットワーク・モード・インポート中のPARALLELパラメータの影響を理解するには、データ・ポンプによって定義されるtable_dataオブジェクトの概念を理解することが重要です。データ・ポンプでは、データを移動するとき、次の項目を個々のtable_dataオブジェクトとみなします。

  • 完全な表(パーティションまたはサブパーティションされていないもの)

  • パーティション(表がパーティション化されているがサブパーティション化されていない場合)

  • サブパーティション(表がサブパーティション化されている場合)

例:

  • 非パーティション表scott.non_part_tableには次の1つのtable_dataオブジェクトがあります。

    scott.non_part_table

  • パーティション表scott.part_table(パーティションp1とパーティションp2を持つ)には次の2つのtable_dataオブジェクトがあります。

    scott.part_table:p1

    scott.part_table:p2

  • サブパーティション表scott.sub_part_table(パーティションp1p2、およびサブパーティションp1s1p1s2p2s1およびp2s2を持つ)には次の4つのtable_dataオブジェクトがあります。

    scott.sub_part_table:p1s1

    scott.sub_part_table:p1s2

    scott.sub_part_table:p2s1

    scott.sub_part_table:p2s2

ネットワーク・モード・インポート中、各table_dataオブジェクトには、PARALLELパラメータに指定された値までの独自のワーカー・プロセスが割り当てられます。ネットワーク・モード・インポートではパラレル問合せ(PQ)スレーブを使用しないため、パラレル問合せ(PQ)スレーブは割り当てられません。複数のtable_dataオブジェクトを同時にアンロードすることは可能ですが、各table_dataオブジェクトはシングル・プロセスを使用してアンロードされます。

Oracle RAC環境でのインポートにおけるPARALLELの使用

Oracle Real Application Clusters(Oracle RAC)環境でPARALLEL=1としてインポート操作を実行すると、すべてのデータ・ポンプ・プロセスは、ジョブが開始されたインスタンス上に配置されます。そのため、ディレクトリ・オブジェクトは、そのインスタンスのローカル記憶域を示すことができます。

PARALLELを1より大きな値に設定してインポート操作を実行する場合は、ジョブが開始されたインスタンス以外のインスタンスにもデータ・ポンプ・プロセスを置くことができます。そのため、ディレクトリ・オブジェクトは、Oracle RACのすべてのインスタンスからアクセス可能な共有記憶域を示す必要があります。

制限事項

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

  • 表および表パーティションをパラレルで(PQスレーブを使用して)インポートするには、DATAPUMP_IMP_FULL_DATABASEロールが必要です。

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

> impdp 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です。

3.4.27 PARFILE

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

PARFILE=[directory_path]file_name

パラメータ・ファイルでは、ファイル内にデータ・ポンプ・パラメータを指定して、すべてのコマンドを個別に入力するかわりにそのファイルをコマンドラインに指定できます。これは、同じパラメータの組合せを何度も使用する場合に便利です。値の指定に引用符が必要なパラメータを使用する場合も、パラメータ・ファイルを使用することをお薦めします。

サーバーによって作成されて書き込まれるダンプ・ファイル、ログ・ファイルおよびSQLファイルとは異なり、パラメータ・ファイルはimpdpクライアントによって開かれて読み取られるため、パラメータ・ファイルにディレクトリ・オブジェクトは指定されません。パラメータ・ファイルのデフォルトの場所は、ユーザーのカレント・ディレクトリです。

パラメータ・ファイル内では、カンマはすべての改行文字に暗黙的に含まれるため、各行の最後にカンマを入力する必要はありません。長い表名など、折返しを含む長い行がある場合、現在の行の最後にバックスラッシュ継続文字(\)を入力して次の行に継続します。

パラメータ・ファイルの内容がデータ・ポンプ・ログ・ファイルに書き込まれます。

制限事項

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

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

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

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

> impdp hr PARFILE=hr_imp.par

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

3.4.28 PARTITION_OPTIONS

デフォルト: パーティション名がTABLESパラメータで指定され、TRANPORTABLE=ALWAYSが(インポート操作時またはエクスポート中に)設定されている場合、デフォルトはdepartitionです。それ以外の場合、デフォルトはnoneとなります。

用途

インポート操作中に表パーティションをどのように作成するかを指定します。

構文および説明

PARTITION_OPTIONS=[NONE | DEPARTITION | MERGE]

noneの値を指定した場合、エクスポート操作が実行されたシステム上に存在していたのと同様に表が作成されます。エクスポートがパーティションまたはサブパーティション・フィルタとともにトランスポータブル・メソッドを使用して実行されている場合、noneオプションまたはmergeオプションは使用できません。そのような場合は、departitionオプションを使用する必要があります。

departitionの値を指定した場合、各パーティションまたはサブパーティションは、新しい個々の表に昇格します。新規表のデフォルト名は、表とパーティションの名前、または表とサブパーティションの名前を適切に組み合せたものとなります。

mergeの値を設定した場合、すべてのパーティションおよびサブパーティションは1つの表に統合されます。

パーティション表のインポート中の並列処理では次のような影響があります。

  • パーティション表が既存のパーティション表にインポートされた場合、データ・ポンプはPARALLELパラメータで指定される値にかかわらず、一度に1つのパーティションまたはサブパーティションのみを処理します。

  • インポート先の表がまだ存在しておらず、データ・ポンプでそれを作成する必要がある場合、インポートは、インポートが開始されたときにPARALLELパラメータで指定された並列化まで並列して実行します。

制限事項

  • ダンプ・ファイルを作成したエクスポート操作がトランスポータブル・メソッドにより実行されており、パーティションまたはサブパーティションが指定されている場合、インポート操作ではdepartitionオプションを使用する必要があります。

  • ダンプ・ファイルを作成したエクスポート操作がトランスポータブル・メソッドにより実行されている場合、インポート操作でPARTITION_OPTIONS=MERGEは使用できません。

  • 非パーティション化されているオブジェクトに対する権限が存在する場合、エラー・メッセージが生成され、オブジェクトはロードされません。

次の例は、sh.sales表がsales.dmpという名前のダンプ・ファイルにエクスポートされていることを前提としています。ここでは、mergeオプションを使用して、sh.sales内のすべてのパーティションをscottスキーマ内の非パーティション表にマージします。

> impdp system TABLES=sh.sales PARTITION_OPTIONS=MERGE 
DIRECTORY=dpump_dir1 DUMPFILE=sales.dmp REMAP_SCHEMA=sh:scott

関連項目:

PARTITION_OPTIONS=DEPARTITIONを使用したインポート操作の実行例は、「TRANSPORTABLE」を参照してください

3.4.29 QUERY

デフォルト: デフォルト値は設定されていません。

用途

インポート対象となるデータをフィルタ処理する問合せ句を指定できます。

構文および説明

QUERY=[[schema_name.]table_name:]query_clause

通常、query_clauseでは、ファイングレイン行選択のためのSQL WHERE句を使用しますが、任意のSQL句を使用できます。たとえば、ORDER BY句を使用すると、ヒープ構成表から索引構成表への移行を高速化できます。スキーマおよび表名を指定しなかった場合は、ソース・ダンプ・ファイル・セットまたはデータベース内のすべての表に問合せが適用されます(この場合、問合せは、これらのすべての表に対して有効である必要があります)。表固有の問合せは、すべての表に適用される問合せより優先されます。

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

QUERYパラメータと一緒にNETWORK_LINKパラメータを指定する場合、リモート(ソース)ノード上にあるquery_clauseで指定されるすべてのオブジェクトは、NETWORK_LINK値で明示的に修飾する必要があります。それ以外の場合、データ・ポンプではオブジェクトがローカル(ターゲット)ノード上に存在することを前提とし、存在しない場合はエラーが返され、リモート(ソース)システムからの表のインポートは失敗します。

たとえば、NETWORK_LINK=dblink1と指定した場合、QUERYパラメータのquery_clauseは、次の例に示すようにそのリンクを指定する必要があります。

QUERY=(hr.employees:"WHERE last_name IN(SELECT last_name 
FROM hr.employees@dblink1)")

オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。詳細は、「データ・ポンプ・コマンドラインでの引用符の使用」を参照してください。

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

表固有の問合せで自分のスキーマ以外のスキーマを指定するには、その特定の表に対するアクセス権限が付与されている必要があります。

制限事項

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

    • CONTENT=METADATA_ONLY

    • SQLFILE

    • TRANSPORT_DATAFILES

  • 表にQUERYパラメータが指定されている場合、データ・ポンプは外部表を使用してターゲット表をロードします。外部表は、SQLのINSERT文をSELECT句とともに使用します。QUERYパラメータの値は、INSERT文のSELECT部分にあるWHERE句に含まれています。QUERYパラメータにロードする表と一致する名前の列がある他の表への参照が含まれていて、これらの列が問合せで使用される場合は、表別名を使用して、ロードする表内の列と、SELECT文内の同じ名前を持つ列を区別する必要があります。ロードする表に対してデータ・ポンプで使用される表別名は、KU$です。

    たとえば、sh.customers表にある顧客のクレジットの上限に基づいてsh.sales表のサブセットをインポートするとします。次の例では、KU$を使用して、sh.salesをロードするためにQUERYパラメータ内のcust_idフィールドを修飾します。この結果、データ・ポンプによって、クレジットの上限が$10,000を超える顧客の行のみがインポートされます。

    QUERY='sales:"WHERE EXISTS (SELECT cust_id FROM customers c
    WHERE cust_credit_limit > 10000 AND ku$.cust_id = c.cust_id)"'
    

    表別名としてKU$を使用しないと、すべての行がロードされます。

    QUERY='sales:"WHERE EXISTS (SELECT cust_id FROM customers c
    WHERE cust_credit_limit > 10000 AND cust_id = c.cust_id)"'
    
  • QUERYに使用できる文字列の最大長は、引用符を含めて4000バイトです。つまり、許容される実際の最大長は3998バイトです。

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

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

QUERY=departments:"WHERE department_id < 120"

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

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

expfull.dmp内のすべての表はインポートされますが、departments表については、QUERYパラメータに指定した基準を満たすデータのみがインポートされます。

3.4.30 REMAP_DATA

デフォルト: デフォルト値は設定されていません。

用途

REMAP_DATAパラメータを使用すると、新規データベースへの挿入時に、データを再マップできます。一般的には、プライマリ・キーを再生成して、ターゲット・データベース上の既存の表に表をインポートする場合の競合を回避するために使用されます。

ダンプ・ファイルまたはリモート・データベースのいずれかから、指定した列の値をソースとして取得するには、再マップ・ファンクションを指定します。再マップ・ファンクションを指定すると、ターゲット・データベースの元の値を置き換える再マップした値が返されます。

同じファンクションを、ダンプされる複数の列に適用できます。これは、参照制約で子と親両方の列を再マップするときに整合性を保つ必要がある場合に役立ちます。

構文および説明

REMAP_DATA=[schema.]tablename.column_name:[schema.]pkg.function

次に、各構文要素の説明を構文で出現する順に示します。

schema: 再マップされる表を含むスキーマ。デフォルトでは、これはインポートを実行するユーザーのスキーマです。

tablename: 列の再マップが行われる表。

column_name: データの再マップが行われる列。

schema: 再マップ・ファンクションを含むユーザー作成のPL/SQLパッケージを含むスキーマ。デフォルトでは、これはインポートを実行するユーザーのスキーマです。

pkg: 再マップ・ファンクションを含むユーザー作成のPL/SQLパッケージの名前。

function: 指定した表の各行で、列表を再マップする場合にコールされるPL/SQL内のファンクションの名前。

制限事項

  • ソース引数および戻り値のデータ型はともに、表内の指定した列のデータ型と一致している必要があります。

  • 再マップ・ファンクションでは、自律型トランザクション以外のコミットまたはロール・バックを実行できません。

  • REMAP_DATAパラメータの値としてのシノニムの使用はサポートされていません。たとえば、hrスキーマのregions表にregnのシノニムが存在する場合、REMPA_DATA指定の一部として、regnを指定すると、エラーが返されます。

  • リモート表のLOB列データの再マップはサポートされていません。

  • REMAP_DATAでは、ユーザー定義タイプ、ユーザー定義タイプの属性、LONG、REF、VARRAY、ネストした表、BFILEおよびXMLtypeのタイプの列はサポートされていません。

次の例では、plusxという名前のファンクションを格納するremapという名前のパッケージが作成されており、このファンクションはemployees表内のfirst_nameの値を変更すると想定しています。

> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expschema.dmp
TABLES=hr.employees REMAP_DATA=hr.employees.first_name:hr.remap.plusx

3.4.31 REMAP_DATAFILE

デフォルト: デフォルト値は設定されていません。

用途

ソース・データ・ファイルが参照されるすべてのSQL文(CREATE TABLESPACECREATE LIBRARYおよびCREATE DIRECTORY)で、ソース・データ・ファイルの名前をターゲット・データ・ファイル名に変更します。

構文および説明

REMAP_DATAFILE=source_datafile:target_datafile

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

オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。

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

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

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

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

> impdp hr PARFILE=payroll.par

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

3.4.32 REMAP_DIRECTORY

REMAP_DIRECTORYパラメータを使用すると、データベースをプラットフォーム間で移動するときにディレクトリを再マップできます。

デフォルト: デフォルト値は設定されていません。

用途

REMAP_DIRECTORYパラメータは、ソース・ディレクトリがファイルまたはディレクトリ指定全体の左端部分にあるすべてのSQL文(CREATE TABLESPACECREATE LIBRARYおよびCREATE DIRECTORY)において、ソース・ディレクトリ文字列をターゲット・ディレクトリ文字列に変更します。

構文および説明

REMAP_DIRECTORY=source_directory_string:target_directory_string

ディレクトリの再マップは、ファイルのネーミング規則が異なるプラットフォーム間でデータベースを移動する場合に便利です。元のデータ・ファイル名を維持してディレクトリ・ファイル指定のみを変更する必要がある場合は、これにより、ディレクトリ内の複数のデータ・ファイルを簡単に再マップできます。

source_directory_stringおよびtarget_directory_stringは、SQL文に出現する内容に正確に一致する必要があります。また、個々のソースおよびターゲット・プラットフォームごとに、ディレクトリ・ファイル終了記号でディレクトリを適切に終了することをお薦めします。コロンが有効なディレクトリ・ファイル指定文字として使用されるプラットフォームでの曖昧さを排除するために、ディレクトリ名は引用符で囲むことをお薦めします。

オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。

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

制限事項

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

たとえば、次のデータ・ファイルを再マップするとします。

DB1$:[HRDATA.PAYROLL]tbs5.dbf
DB1$:[HRDATA.PAYROLL]tbs6.dbf

また、次の内容のパラメータ・ファイルpayroll.parがあるとします。

DIRECTORY=dpump_dir1
FULL=YES
DUMPFILE=db_full.dmp
REMAP_DIRECTORY="'DB1$:[HRDATA.PAYROLL]':'/db1/hrdata/payroll/'"

この場合、次のコマンドを発行できます。

> impdp hr PARFILE=payroll.par

この例では、インポート中に、すべてのSQL DDL文について、VMSファイル指定(DB1$:[HRDATA.PAYROLL]tbs5.dbfおよびDB1$:[HRDATA.PAYROLL]tbs6.dbf)がUNIXファイル指定(/db1/hrdata/payroll/tbs5.dbf, and /db1/hrdata/payroll/tbs6.dbf)に再マップされます。ダンプ・ファイルdb_full.dmpは、ディレクトリ・オブジェクトdpump_dir1によって位置が示されます。

3.4.33 REMAP_SCHEMA

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

REMAP_SCHEMA=source_schema:target_schema

複数のREMAP_SCHEMA行を指定できますが、ソース・スキーマは行ごとに異なっている必要があります。ただし、異なるソース・スキーマを同じターゲット・スキーマにマップすることはできます。マッピングは完全ではない場合があります(詳細は、次の「制限事項」を参照してください)。

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

> expdp system SCHEMAS=hr
Password: password

> expdp system FULL=YES
Password: password

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

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

SQL> ALTER USER schema_name IDENTIFIED BY new_password 

Oracle Database 11g リリース1 (11.1.0.1)からは、スキーマ・パスワードをリセットする必要がなくなりました。元のパスワードは引き続き有効です。

制限事項

  • 権限のないユーザーは、自分のスキーマが再マップのターゲット・スキーマの場合にのみ、スキーマの再マップを実行できます。(特権ユーザーがスキーマの再マップを実行する場合は、制限がありません。)たとえば、SCOTTは、自分のBLAKEのオブジェクトをSCOTTに再マップできますが、SCOTTは、SCOTTのオブジェクトをBLAKEに再マップすることはできません。

  • インポートで検出できない一部のスキーマ参照があるため、マッピングは完全ではない場合があります。たとえば、インポートでは、型定義、ビュー、プロシージャおよびパッケージの本体に埋め込まれたスキーマ参照は検出されません。

  • トリガーの場合、REMAP_SCHEMAはトリガー所有者にのみ影響を及ぼします。

  • 再マップするスキーマ内の表にユーザー定義のオブジェクト型が含まれており、その表が、エクスポートされる時刻とインポートしようとする時刻の間に変更される場合、その表のインポートは失敗します。ただし、インポート操作自体は続行されます。

  • デフォルトでは、ソース・データベースのスキーマ・オブジェクトにオブジェクト識別子(OID)がある場合、それらと同じOIDを持つターゲット・データベースにインポートされます。オブジェクトがエクスポート元と同じデータベースであって異なるスキーマにインポートされた場合、新しい(インポートされた)オブジェクトのOIDは、既存のオブジェクトと同じものになり、インポートは失敗します。インポートを成功させるには、インポート時にTRANSFORM=OID:Nパラメータも指定する必要があります。変換OID:Nにより新しいオブジェクトに対して新しいOIDが作成され、インポートが成功します。

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

> expdp system SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp

> impdp system DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp REMAP_SCHEMA=hr:scott

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

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

3.4.34 REMAP_TABLE

デフォルト: デフォルト値は設定されていません。

用途

インポート操作中に、表の名前を変更できます。

構文および説明

次のいずれかの構文を使用できます(下記の「使用上の注意」を参照)。

REMAP_TABLE=[schema.]old_tablename[.partition]:new_tablename

または

REMAP_TABLE=[schema.]old_tablename[:partition]:new_tablename

REMAP_TABLEパラメータを使用して表全体の名前を変更するか、表を非パーティションする場合の表のパーティションを変更できます。(「PARTITION_OPTIONS」を参照してください。)

これを使用して、エクスポートした表パーティションの自動ネーミングを上書きすることもできます。

使用上の注意

最初の構文では、REMAP_TABLE=A.B:Cを指定すると、インポートによってAはスキーマ名、Bは古い表名、Cは新しい表名とみなされることに注意してください。最初の構文を使用して、非パーティション表にするパーティションの名前を変更するには、スキーマ名を指定する必要があります。

2番目の構文を使用して、非パーティション表にするパーティションの名前を変更するには、古い表名で指定します。スキーマ名は必要ありません。

制限事項

  • インポートによって作成されたオブジェクトのみ、再マップされます。既存の表は再マップされないことに注意してください。

  • 再マップする表が同じスキーマ内に名前付きの制約を持っていて、表の作成時に制約を作成する必要がある場合、REMAP_TABLEパラメータは機能しません。

次の例では、REMAP_TABLEパラメータを使用して、employees表をempsという新しい名前に変更します。

> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expschema.dmp
TABLES=hr.employees REMAP_TABLE=hr.employees:emps 

3.4.35 REMAP_TABLESPACE

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

REMAP_TABLESPACE=source_tablespace:target_tablespace

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

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

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

制限事項

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

  • インポートによって作成されたオブジェクトのみ、再マップされます。特に、既存の表の表領域は、TABLE_EXISTS_ACTIONSKIPTRUNCATEまたはAPPENDに設定されている場合は、再マップされません。

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

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

3.4.36 REUSE_DATAFILES

デフォルト: NO

用途

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

構文および説明

REUSE_DATAFILES=[YES | NO]

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

このパラメータにYを指定すると、既存のデータ・ファイルが再度初期化されます。

注意:

REUSE_DATAFILES=YESを指定すると、データが失われる場合があります。

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

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

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

3.4.37 SCHEMAS

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

SCHEMAS=schema_name [,...]

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

このインポート・モードを使用したインポート対象を、フィルタ処理によって制限できます。詳細は、「インポート操作中のフィルタ処理」を参照してください。

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

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

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

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

3.4.38 SERVICE_NAME

デフォルト: デフォルト値は設定されていません。

用途

CLUSTERパラメータと組み合せて使用するサービス名を指定するために使用します。

構文および説明

SERVICE_NAME=name

SERVICE_NAMEパラメータをCLUSTER=YESパラメータとともに使用して、リソース・グループに属しているOracle Real Application Clusters(Oracle RAC)インスタンス群(通常は全Oracle RACインスタンスのサブセット)を定義するリソース・グループに関連付けられている、既存のサービスを指定できます。

サービス名は、リソース・グループおよびそのリソース・グループに対して定義されたインスタンスを決定する目的でのみ使用されます。ジョブが開始されたインスタンスは、そのインスタンスがリソース・グループに含まれているかどうかとは関係なく、常に使用されます。

SERVICE_NAMEパラメータは、CLUSTER=NOと同時に指定されると、無視されます。

インスタンスA、B、CおよびDを含むOracle RAC構成があります。インスタンスA、BおよびCのみで構成されるリソース・グループを持つmy_serviceというサービスが存在するとします。そのような場合は、次の内容が成立します。

  • データ・ポンプ・ジョブをインスタンスAで開始し、CLUSTER=YESを指定し(またはデフォルトのYESをそのまま使用し)、SERVICE_NAMEパラメータを指定しない場合、データ・ポンプは指定の並列度に応じてすべてのインスタンス(A、B、CおよびD)にワーカーを作成します。

  • データ・ポンプ・ジョブをインスタンスAで開始し、CLUSTER=YESおよびSERVICE_NAME=my_serviceを指定した場合、ワーカーは、インスタンスA、BおよびCのみで開始可能です。

  • データ・ポンプ・ジョブをインスタンスDで開始し、CLUSTER=YESおよびSERVICE_NAME=my_serviceを指定した場合、ワーカーは、インスタンスA、B、CおよびDのみで開始可能です。インスタンスDはmy_serviceに存在しませんが、インスタンスDはジョブが開始されたインスタンスであるため含まれています。

  • データ・ポンプ・ジョブをインスタンスAで開始し、CLUSTER=NOを指定した場合、SERVICE_NAMEパラメータを指定しても無視され、すべてのプロセスがインスタンスAで開始されます。

> impdp system DIRECTORY=dpump_dir1 SCHEMAS=hr
  SERVICE_NAME=sales NETWORK_LINK=dbs1

この例では、hrスキーマのスキーマ・モード・ネットワーク・インポートを開始します。コマンドラインではCLUSTER=YESは指定されていませんが、それはデフォルトの動作なので、ジョブではサービス名salesに関連付けられたリソース・グループのすべてのインスタンスが使用されます。dbs1NETWORK_LINK値は、データのインポート元であるソース・データベース名に置き換えます。(これはネットワーク・インポートであるため、ダンプ・ファイルは生成されません。)

NETWORK_LINKパラメータは、単にこの例の一部として使用されています。SERVICE_NAMEパラメータの使用時は必須ではありません。

関連項目:

「CLUSTER」

3.4.39 SKIP_UNUSABLE_INDEXES

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

用途

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

構文および説明

SKIP_UNUSABLE_INDEXES=[YES | NO]

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

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

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

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

注意:

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

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

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

3.4.40 SOURCE_EDITION

デフォルト: オブジェクトがフェッチされるリモート・ノード上のデフォルトのデータベース・エディション

用途

オブジェクトがフェッチされるリモート・ノード上のデータベース・エディションを指定します。

構文および説明

SOURCE_EDITION=edition_name

SOURCE_EDITION=edition_nameを指定すると、そのエディションのオブジェクトがインポートされます。データ・ポンプは、変更されずに継承されているすべてのオブジェクトと、変更されているすべての実際のオブジェクトを選択します。

このパラメータが指定されていない場合は、デフォルトのエディションが使用されます。指定されたエディションが存在しない場合や使用できない場合は、エラー・メッセージが返されます。

制限事項

  • SOURCE_EDITIONパラメータがインポート操作で有効なのは、NETWORK_LINKパラメータも指定されている場合のみです。「NETWORK_LINK」を参照してください。

  • このパラメータは、バージョニング可能な同じオブジェクトのバージョンがデータベース内に2つ以上ある場合にのみ有効です。

  • ジョブ・バージョンは、11.2以上に設定する必要があります。「VERSION」を参照してください。

次に、インポートのSOURCE_EDITIONパラメータの使用例を示します。

> impdp hr DIRECTORY=dpump_dir1 SOURCE_EDITION=exp_edition
NETWORK_LINK=source_database_link EXCLUDE=USER

この例は、オブジェクトのインポート元となるexp_editionというエディションがシステム上に存在することを前提としています。インポート・モードは指定されていないため、デフォルトのスキーマ・モードが使用されます。source_database_linkは、データのインポート元であるソース・データベース名に置き換えます。EXCLUDE=USERパラメータは、ユーザーの定義のみを除外し、ユーザーのスキーマに含まれるオブジェクトは除外しません。(これはネットワーク・インポートであるため、ダンプ・ファイルは生成されません。)

関連項目:

  • エディションの作成方法の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • エディション機能(継承されたオブジェクトと実際のオブジェクトも含む)の詳細は、『Oracle Database開発ガイド』を参照してください。

3.4.41 SQLFILE

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

SQLFILE=[directory_object:]file_name

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

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

-- CONNECT hr

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

データ・ポンプは、ALTER SESSION文を、データ・ポンプ・インポートにより作成されたSQLファイルの上に配置します。したがって、インポート操作に異なる接続文がある場合は、各ALTER SESSION文を手動でコピーして、適切なCONNECT文の後に貼り付ける必要があります。

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

制限事項

  • SQLFILEが指定されている場合、CONTENTパラメータは、ALLまたはDATA_ONLYのいずれかに設定されていると無視されます。

  • Oracle Automatic Storage Management (Oracle ASM)を使用してSQLファイルへのデータ・ポンプ・インポートを実行する場合、SQLFILEパラメータでは、Oracle ASMの+表記法を使用せずにディレクトリ・オブジェクトを指定する必要があります。つまり、SQLファイルはディスク・ファイルに書き込まれ、Oracle ASMの記憶域には書き込まれません。

  • SQLFILEパラメータは、QUERYパラメータと組み合せて使用することはできません。

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

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

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

3.4.42 STATUS

デフォルト: 0

用途

ジョブ状態が表示される頻度を指定します。

構文および説明

STATUS[=integer]

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

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

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

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

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

3.4.43 STREAMS_CONFIGURATION

デフォルト: YES

用途

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

構文および説明

STREAMS_CONFIGURATION=[YES | NO]

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

> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp STREAMS_CONFIGURATION=NO

関連項目:

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

3.4.44 TABLE_EXISTS_ACTION

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

用途

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

構文および説明

TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE]

次の値を指定できます。

  • SKIP: 表はそのままにして、次のオブジェクトに移動します。CONTENTパラメータがDATA_ONLYに設定されている場合、このオプションは無効です。

  • APPEND: ソースから行をロードし、既存の行は変更しません。

  • TRUNCATE: 既存の行を削除した後、ソースから行をロードします。

  • REPLACE: 既存の表を削除した後、ソースから表を作成およびロードします。CONTENTパラメータがDATA_ONLYに設定されている場合、このオプションは無効です。

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

  • TRUNCATEまたはREPLACEを使用する場合は、影響を受ける表の行が参照制約のターゲットではないことを確認してください。

  • SKIPAPPENDまたはTRUNCATEを使用する場合、索引、権限、トリガー、制約など、ソースの既存の表依存オブジェクトは変更されません。REPLACEを使用すると、依存オブジェクトが明示的または暗黙的に除外(EXCLUDEを使用して)され、それらがソースのダンプ・ファイルまたはシステムに存在する場合、依存オブジェクトは削除され、ソースから再作成されます。

  • APPENDまたはTRUNCATEを使用する場合は、操作を実行する前に、ソースにある行が既存の表に適合するかどうかがチェックされます。

    既存の表にアクティブな制約およびトリガーがある場合は、外部表によるアクセス方法を使用してロードされます。アクティブな制約に違反する行がある場合、ロードは失敗し、データはロードされません。この動作を変更するには、インポート・ユーティリティのコマンドラインでDATA_OPTIONS=SKIP_CONSTRAINT_ERRORSを指定します。

    制約違反の可能性があるデータをロードする必要がある場合は、制約を無効にし、データをロードした後、制約を再度有効にする前に問題のある行を削除する方法を検討してください。

  • APPENDを使用すると、常に、データは新しい領域にロードされます。既存の領域は、使用可能な場合でも再利用されません。そのため、ロード後にデータを圧縮することもできます。

  • 既存のターゲット表の有無によりパーティション表の並列処理がどのように影響を受けるかの詳細は、インポートのPARTITION_OPTIONSパラメータの説明も参照してください。

注意:

データ・ポンプは、ソース表とターゲット表の不一致(2つの表の列数が同じでないか、ソース表にない列名がターゲット表にある)を検出すると、2つの表間で列名を比較します。これらの表に共通の列が少なくとも1つあると、(データ型に互換性があるとみなされる)共通する列のデータが表にインポートされます。次の制限があります。

  • この動作はネットワーク・インポートではサポートされません。

  • 次の型の列は削除できません。オブジェクト列、オブジェクト属性、ネストされた表の列、主キーに基づくREF列。

制限事項

  • TRUNCATEは、クラスタ化された表では使用できません。

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

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

3.4.45 TABLES

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

TABLES=[schema_name.]table_name[:partition_name]

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

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

このインポート・モードを使用したインポート対象を、フィルタ処理によって制限できます。詳細は、「インポート操作中のフィルタ処理」を参照してください。

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

ワイルドカード文字%を使用して、表名およびパーティション名を指定できます。

表名には次の制限があります。

  • デフォルトでは、表名は大文字でデータベースに格納されます。表名が大文字と小文字または小文字のみで表記され、大/小文字を区別する場合、名前を引用符で囲む必要があります。したがって、表名は、データベースに格納されている表名と完全に一致するように指定する必要があります。

    ただし、オペレーティング・システムによっては、コマンドラインの引用符自体をエスケープする必要がある場合があります。次に、異なるインポート・モードで大/小文字の区別を保持する方法を示します。

    • コマンドライン・モード

      TABLES='\"Emp\"'
      
    • パラメータ・ファイル・モード

      TABLES='"Emp"'
      
  • 表名を引用符で囲まないかぎり、コマンドラインで指定する表名にシャープ(#)記号は使用できません。同様に、パラメータ・ファイルでは、表名が引用符で囲まれていないかぎり、表名にシャープ(#)記号を使用すると、インポート・ユーティリティではシャープ(#)記号より右側の文字がコメントとして解釈されます。

    たとえば、パラメータ・ファイルに次のコマンドラインが記述されている場合、インポート・ユーティリティではemp#の右側がすべてコメントとして解釈されるため、表deptおよびmydataはインポートされません。

    TABLES=(emp#, dept, mydata)
    

    ただし、パラメータ・ファイルに次の行が含まれる場合は、emp#が引用符で囲まれているため、インポート・ユーティリティは3つの表をすべてインポートします。

    TABLES=('"emp#"', dept, mydata)

    注意:

    オペレーティング・システムによっては、一重引用符を使用する必要がある場合と、二重引用符を使用する必要がある場合があります。ご使用のオペレーティング・システム固有のドキュメントで確認してください。表のネーミング方法に制限があるオペレーティング・システムもあります。

    たとえば、UNIXのCシェルではドル記号($)やシャープ(#)(またはその他の特殊文字)には特別な意味があります。これらの文字をシェルを介してインポートするには、エスケープ文字を使用する必要があります。

制限事項

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

  • インポートに対してPARTITION_OPTIONS=DEPARTITION も指定されている場合、1つの表からのパーティションのみを指定できます。

  • TRANSPORTABLE=ALWAYSを指定する場合は、TABLESパラメータで指定されるすべてのパーティションが同じ表内に存在する必要があります。

  • TABLESパラメータに指定する表名のリストの長さは、最大4MBに制限されます。ただし、NETWORK_LINKパラメータで10.2.0.3以前のOracle Databaseまたは読取り専用のデータベースが設定されている場合は異なります。この場合の上限は4KBです。

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

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

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

> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp 
TABLES=sh.sales:sales_Q1_2012,sh.sales:sales_Q2_2012

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

3.4.46 TABLESPACES

デフォルト: デフォルト値は設定されていません。

用途

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

構文および説明

TABLESPACES=tablespace_name [, ...]

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

インポートの次の状況では、データ・ポンプによりデータのインポート先に自動的に表領域が作成されます。

  • インポートがFULLモードまたはTRANSPORT_TABLESPACESモードで実行されている場合

  • インポートがTRANSPORTABLE=ALWAYSを含む表モードで実行されている場合

その他のすべての場合では、選択したオブジェクトの表領域がインポート先のデータベースにすでに存在している必要があります。REMAP_TABLESPACEインポート・パラメータを使用して、インポート先のデータベースにある表領域に表領域名をマッピングすることもできます。

このインポート・モードを使用したインポート対象を、フィルタ処理によって制限できます。詳細は、「インポート操作中のフィルタ処理」を参照してください。

制限事項

  • TABLESPACESパラメータに指定する表領域名のリストの長さは、最大4MBに制限されます。ただし、NETWORK_LINKパラメータで10.2.0.3以前のデータベースまたは読取り専用のデータベースが設定されている場合は異なります。この場合の上限は4KBです。

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

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

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

3.4.47 TARGET_EDITION

デフォルト: システム上のデフォルトのデータベース・エディション

用途

オブジェクトのインポート先のデータベース・エディションを指定します。

構文および説明

TARGET_EDITION=name

TARGET_EDITION=nameが指定されている場合、データ・ポンプ・インポートは、ダンプ・ファイル内にあるすべてのオブジェクトを作成します。エディション化可能でないオブジェクトは、すべてのエディションで作成されます。たとえば、表はエディション化可能でないため、ダンプ・ファイル内に表があると、その表が作成されてすべてのエディションから参照できます。ダンプ・ファイル内のオブジェクトでエディション化可能なもの(プロシージャなど)は、指定されたターゲット・エディションのみに作成されます

このパラメータが指定されていない場合は、エクスポート・ジョブでエディションが指定されていた場合でも、ターゲット・データベースのデフォルトのエディションが使用されます。指定されたエディションが存在しない場合や使用できない場合は、エラー・メッセージが返されます。

制限事項

  • このパラメータは、バージョニング可能な同じオブジェクトのバージョンがデータベース内に2つ以上ある場合にのみ有効です。

  • ジョブ・バージョンは、11.2以上である必要があります。「VERSION」を参照してください。

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

> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=exp_dat.dmp TARGET_EDITION=exp_edition

この例は、オブジェクトのインポート先となるexp_editionというエディションがシステム上に存在することを前提としています。インポート・モードは指定されていないため、デフォルトのスキーマ・モードが使用されます。

関連項目:

  • エディションの作成方法の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • エディション機能の詳細は、『Oracle Database開発ガイド』を参照してください。

3.4.48 TRANSFORM

デフォルト: デフォルト値は設定されていません。

用途

インポート中のオブジェクトに対するオブジェクト作成DDLを変更できます。

構文および説明

TRANSFORM = transform_name:value[:object_type]

transform_nameには、変換の名前を指定します。

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

使用可能な変換は次のとおりです(アルファベット順に記載)。

  • DISABLE_ARCHIVE_LOGGING:[Y | N]

    この変換は、INDEXおよびTABLEの各オブジェクト型に対して有効です。

    Yに設定すると、データがインポートされる前に、指定したオブジェクト型(TABLEまたはINDEX、あるいはその両方)のロギング属性が無効になります。Nに設定すると(デフォルト)、アーカイブ・ロギングはインポート中に無効になりません。データがロードされた後に、オブジェクトのロギング属性は元の設定に戻されます。オブジェクト型を指定しない場合、DISABLE_ARCHIVE_LOGGINGの動作は、TABLEとINDEXの両方のオブジェクト型に適用されます。この変換は、ファイル・モード・インポートとネットワーク・モード・インポートの両方で動作します。これは、トランスポータブル表領域インポートには適用されません。

    注意:

    データベースがFORCE LOGGINGモードである場合、索引および表の作成時にDISABLE_ARCHIVE_LOGGINGオプションではロギングは無効になりません。

  • INMEMORY:[Y | N]

    この変換は、TABLEおよびTABLESPACEの各オブジェクト型に対して有効です。

    INMEMORY変換は、インメモリー列ストア(IM列ストア)に関連があります。IM列ストアは、表、表パーティションおよびその他のデータベース・オブジェクトのコピーを格納するSystem Global Area(SGA)のオプションの部分です。IM列ストアはSGAの一部であるため、データは行ではなく、列によって移入されます。データは高速スキャンで最適化されます。IM列ストアでは、バッファ・キャッシュは置換しませんが、両方のメモリー領域において同じデータを異なる形式で格納するための補足としての役割を果たします。IM列ストアは、Oracle Databaseインメモリー・オプションに含まれています。

    インポートでY (デフォルト値)が指定されている場合、データ・ポンプは、IM列ストア句を含むすべてのオブジェクトに対してIM列ストア句を保持します。これらのオブジェクトがインポート時に再作成されると、データ・ポンプは、エクスポート時にこれらのオブジェクトの設定と一致するIM列ストア句を生成します。

    インポートでNが指定されている場合、データ・ポンプは、IM列ストア句を含むすべてのオブジェクトからIM列ストア句を削除します。表領域に格納されているオブジェクトにIM列ストア句がない場合、オブジェクトは表領域からIM列ストア句を継承します。したがって、データベースを移行していて、IM列ストア機能を使用する新しいデータベースが必要な場合、適切なIM列ストア句を持つ表領域を事前に作成できます。その後、インポート・コマンドでTRANSFORM=INMEMORY:Nを使用します。オブジェクトは、事前に作成済の新しい表領域からIM列ストア句を継承します。

    INMEMORY変換を使用しない場合、すべてのオブジェクトを個別に変更して、適切なIM列ストア句を追加する必要があります。

    注意:

    INMEMORY変換は、Oracle Database 12c リリース1 (12.1.0.2)以上でのみ使用できます。

    関連項目:

    • インメモリー列ストア(IM列ストア)の使用方法の詳細は、『Oracle Database管理者ガイド』を参照してください。

  • INMEMORY_CLAUSE:"string with a valid in-memory parameter"

    この変換は、TABLEおよびTABLESPACEの各オブジェクト型に対して有効です。

    INMEMORY_CLAUSE変換は、インメモリー列ストア(IM列ストア)に関連があります。IM列ストアは、表、表パーティションおよびその他のデータベース・オブジェクトのコピーを格納するSystem Global Area(SGA)のオプションの部分です。IM列ストアはSGAの一部であるため、データは行ではなく、列によって移入されます。データは高速スキャンで最適化されます。IM列ストアでは、バッファ・キャッシュは置換しませんが、両方のメモリー領域において同じデータを異なる形式で格納するための補足としての役割を果たします。IM列ストアは、Oracle Databaseインメモリー・オプションに含まれています。

    この変換を指定すると、データ・ポンプは、DDL内にIM列ストア句が含まれる、インポート対象のすべてのオブジェクトに対して、文字列の内容をINMEMORY_CLAUSEとして使用します。この変換は、ダンプ・ファイルのオブジェクトに対してIM列ストア句を優先させる必要がある場合に有効です。

    指定する文字列を二重引用符で囲む必要があります。コマンドラインでコマンドを入力する場合、オペレーティング・システムによってはコマンドの解析中に疑問符が削除され、エラーが発生する可能性があることに注意してください。バックスラッシュ・エスケープ文字を使用すると、このことを回避できます。例:
    transform=inmemory_clause:\"INMEMORY MEMCOMPRESS FOR DML PRIORITY CRITICAL\"

    また、パラメータをパラメータ・ファイル内に配置することで、処理中に疑問符が保持されるようにできます。

    注意:

    INMEMORY_CLAUSE変換は、Oracle Database 12c リリース1 (12.1.0.2)以上でのみ使用できます。

    関連項目:

    • インメモリー列ストア(IM列ストア)の使用方法の詳細は、『Oracle Database管理者ガイド』を参照してください。

    • IM列ストア句で指定できるパラメータのリストおよび詳細は、『Oracle Databaseリファレンス』を参照してください。

  • LOB_STORAGE:[SECUREFILE | BASICFILE | DEFAULT | NO_CHANGE]

    この変換は、オブジェクト型TABLEに対して有効です。

    指定した記憶域(SECUREFILEまたはBASICFILE)で、LOBセグメントが作成されます。値がNO_CHANGE (デフォルト)の場合、LOBセグメントは、ソース・データベースに存在するものと同じ記憶域に作成されます。値がDEFAULTの場合、キーワード(SECUREFILEまたはBASICFILE)は省略され、LOBセグメントはデフォルト記憶域に作成されます。

    この変換を指定すると、マテリアライズド・ビューに記憶域を提供する表を含め、ジョブのすべての表のLOB記憶域が変更されます。

    LOB_STORAGEの変換は、トランスポータブル・インポート・ジョブでは無効です。

  • OID:[Y | N]

    この変換は、INC_TYPE、TABLEおよびTYPEの各オブジェクト型に対して有効です。

    インポート時にY(デフォルト値)を指定した場合、エクスポートされたOIDが、新しいオブジェクト表およびオブジェクト型に割り当てられます。データ・ポンプでは、ターゲット・データベース上で、一致する既存の型を検出する際にOIDの確認も行います。

    インポート時にNを指定した場合、次が実行されます。

    • エクスポートされたOIDは、新しいオブジェクト表とオブジェクト型の作成で割り当てられません。かわりに、新しいOIDが割り当てられます。これは、スキーマのクローニングに有効ですが、参照オブジェクトには影響しません。

    • 型に関連付けされた表にデータをロードする前に、データ・ポンプで、ターゲット・データベース上に既存の一致する型を検出する際、標準の型のOIDチェックをスキップします。型のハッシュ・コード、バージョン番号、型名によるその他のチェックは実行されます。

  • PCTSPACE:some_number_greater_than_zero

    この変換は、CLUSTER、CONSTRAINT、INDEX、ROLLBACK_SEGMENT、TABLEおよびTABLESPACEの各オブジェクト型に対して有効です。

    この変換のには、0より大きい数字を指定する必要があります。この値は、エクステントの割当てとデータ・ファイル・サイズの変更に使用する、割合の乗数を表します。

    なお、このPCTSPACE変換とデータ・ポンプ・エクスポートのSAMPLEパラメータを組み合せて使用すると、記憶域の割当てサイズを、サンプリングされたデータ・サブセットに合わせることができます。(「SAMPLE」を参照してください。)

  • SEGMENT_ATTRIBUTES:[Y | N]

    この変換は、CLUSTER、CONSTRAINT、INDEX、ROLLBACK_SEGMENT、TABLEおよびTABLESPACEの各オブジェクト型に対して有効です。

    値をYに指定すると、適切なDDLにセグメント属性(物理属性、記憶域属性、表領域およびロギング)が指定されます。デフォルトはYです。

  • SEGMENT_CREATION:[Y | N]

    この変換は、オブジェクト型TABLEに対して有効です。

    Y (デフォルト)に設定した場合、この変換によってSQL SEGMENT CREATION句がCREATE TABLE文に追加されます。つまり、CREATE TABLE文でSEGMENT CREATION DEFERREDSEGMENT CREATION IMMEDIATEのいずれかが明示的に表現されます。値がNの場合、SEGMENT CREATION句はCREATE TABLE文から省略されます。ロードされる表に対してデフォルトのセグメント作成属性を使用するには、このパラメータをNに設定します。(この機能はOracle Database 11gリリース2(11.2.0.2)から使用できます。)

  • STORAGE:[Y | N]

    この変換は、CLUSTER、CONSTRAINT、INDEX、ROLLBACK_SEGMENTおよびTABLEの各オブジェクト型に対して有効です。

    値をYに指定すると、適切なDDLにSTORAGE句が指定されます。デフォルトはYです。SEGMENT_ATTRIBUTES=Nの場合、このパラメータは無視されます。

  • TABLE_COMPRESSION_CLAUSE:[NONE | compression_clause]

    この変換は、オブジェクト型TABLEに対して有効です。

    NONEを指定すると、表圧縮句は省略されます(その表の表領域にはデフォルトの圧縮が使用されます)。それ以外の場合、その値が有効な表圧縮句です(NOCOMPRESSCOMPRESS BASICなど)。指定した圧縮を使用して表が作成されます。有効な表圧縮構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

    表圧縮句が複数の語の場合、一重引用符または二重引用符で囲む必要があります。また、オペレーティング・システム要件によっては、句をエスケープ文字(バックスラッシュ文字など)で囲む必要がある場合があります。例:

    TRANSFORM=TABLE_COMPRESSION_CLAUSE:\"COLUMN STORE COMPRESS FOR QUERY HIGH\"

    この変換を指定すると、マテリアライズド・ビューに記憶域を提供する表を含め、ジョブのすべての表の圧縮タイプが変更されます。

次の例では、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句は、保持しない場合、インポート・ユーティリティのTRANSFORMパラメータを使用してCREATE STATEMENTから削除できます。SEGMENT_ATTRIBUTESの値をNに指定します。これによって、セグメント属性(記憶域と表領域の両方)が表から除外されます。

> impdp 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 TABLES=hr.employees DIRECTORY=dpump_dir1 DUMPFILE=hr_emp.dmp
  TRANSFORM=STORAGE:N:table

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

> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp SCHEMAS=hr TRANSFORM=SEGMENT_ATTRIBUTES:N

3.4.49 TRANSPORT_DATAFILES

デフォルト: デフォルト値は設定されていません。

用途

トランスポータブル表領域モード・インポートか、エクスポート時にTRANSPORTABLE=ALWAYSが設定された場合は表モード・インポートまたは全体モード・インポートによって、ターゲット・データベースにインポートされるデータ・ファイルの一覧を指定します。データ・ファイルはターゲット・データベース・システム上にすでに存在する必要があります。

構文および説明

TRANSPORT_DATAFILES=datafile_name

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

また、datafile_nameの絶対パス指定のファイル名部分にワイルドカードを使用することもできます。アスタリスク(*)は0からN文字の一致を表し、疑問符(?)は1文字の一致を表します。絶対パス指定のディレクトリ部分にワイルドカードを使用することはできません。ワイルドカードを使用する場合、一致するすべてのファイルがトランスポート・セットの一部である必要があります。そうでないものが見つかった場合、エラーが表示され、インポート・ジョブは終了します。

インポート操作前の任意の時点で、ソース・システムからターゲット・システムにデータ・ファイルをコピーしておく必要があります。この処理は、オペレーティング・システムでサポートされている任意のコピー方法で実行できます。必要に応じて、ターゲット・システムにコピーするときに、ファイルの名前を変更できます(例2を参照してください)。

トランスポータブル・モード・エクスポートによって生成されたダンプ・ファイル・セットがすでにある場合、(メタデータを含んでいる)ダンプ・ファイルおよびTRANSPORT_DATAFILESパラメータを指定することで、そのダンプ・ファイルのトランスポータブル・モード・インポートを実行できます。TRANSPORT_DATAFILESパラメータが存在することで、これがトランスポータブル・モード・インポートであることと、実際のデータを取得する場所がインポートに通知されます。

オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。

制限事項

  • TRANSPORT_DATAFILESパラメータは、QUERYパラメータと組み合せて使用することはできません。

  • トランスポータブル・インポート・ジョブは、再開できません。

  • 絶対ファイル・パスのTRANSPORT_DATAFILESディレクトリ部分にワイルドカードを含めることはできません。ただし、絶対ファイル・パスのファイル名部分にはワイルドカードを含めることができます。

例1

次に、TRANSPORT_DATAFILESパラメータの使用例を示します。次の内容のパラメータ・ファイルtrans_datafiles.parを作成したとします。

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

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

> impdp hr PARFILE=trans_datafiles.par

例2

この例は、トランスポータブル表領域のエクスポートおよびインポート操作の一環として、データ・ファイルの名前を変更する操作を示しています。ソース・システムにemployees.datというデータ・ファイルがあることを前提としています。

  1. オペレーティング・システムでサポートされている方法で、ソース・システムからターゲット・データベースがあるシステムに、employees.datというデータ・ファイルを手動でコピーします。コピー操作の一環として、ファイル名をworkers.datに変更します。

  2. 表領域tbs_1について、トランスポータブル表領域のエクスポートを実行します。

    > expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tts.dmp TRANSPORT_TABLESPACES=tbs_1
    

    tbs_1のメタデータのみ(データなし)がtts.dmpというダンプ・ファイルにエクスポートされます。実際のデータは、手順1でターゲット・データベースにコピーされています。

  3. workers.datというデータ・ファイルの絶対ディレクトリ・パスを指定して、トランスポータブル表領域のインポートを実行します。

    > impdp hr DIRECTORY=dpump_dir1 DUMPFILE=tts.dmp
    TRANSPORT_DATAFILES='/user01/data/workers.dat'
    

    tts.dmpに含まれているメタデータがインポートされ、workers.datファイル内の情報がデータ・ポンプによってデータベースの正しい場所に割り当てられます。

例3

この例では、TRANSPORT_DATAFILESパラメータで使用するファイル名に、アスタリスク(*)のワイルドカード文字を使用しています。

TRANSPORT_DATAFILES='/db1/hrdata/payroll/emp*.dbf'

この結果、ディレクトリ/db1/hrdata/payroll/内にあるタイプ.dbfの全ファイルのうち、名前の先頭がempであるものがトランスポート・セットの一部であることが、データ・ポンプによって検査されます。

例4

この例では、TRANSPORT_DATAFILESパラメータで使用するファイル名に、疑問符(?)のワイルドカード文字を使用しています。

TRANSPORT_DATAFILES='/db1/hrdata/payroll/m?emp.dbf'

この結果、ディレクトリ/db1/hrdata/payroll/内にあるタイプ.dbfの全ファイルのうち、名前の先頭がm、その次が任意の他の単一文字、末尾がempであるものがトランスポート・セットの一部であることが、データ・ポンプによって検査されます。たとえば、myemp.dbfという名前のファイルは含められますが、memp.dbfという名前のファイルは含められません。

3.4.50 TRANSPORT_FULL_CHECK

デフォルト: NO

用途

指定したトランスポータブル表領域セットが他の表領域内のオブジェクトによって参照されていることを確認するかどうかを指定します。

構文および説明

TRANSPORT_FULL_CHECK=[YES | NO]

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

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

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

制限事項

  • このパラメータは、NETWORK_LINKパラメータを指定した場合にのみトランスポータブル・モード(またはTRANSPORTABLE=ALWAYSがエクスポート時に指定されていた場合は表モードまたは全体モード)に対して有効です。

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

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

DIRECTORY=dpump_dir1
TRANSPORT_TABLESPACES=tbs_6
NETWORK_LINK=source_database_link
TRANSPORT_FULL_CHECK=YES
TRANSPORT_DATAFILES='/wkdir/data/tbs6.dbf'

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

> impdp hr PARFILE=full_check.par

3.4.51 TRANSPORT_TABLESPACES

デフォルト: デフォルト値は設定されていません。

用途

データベース・リンク(NETWORK_LINKパラメータで指定)経由でトランスポータブル表領域モードのインポートの実行を指定します。

構文および説明

TRANSPORT_TABLESPACES=tablespace_name [, ...]

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

これはトランスポータブル・モード・インポートであるため、データのインポート先の表領域は、データ・ポンプによって自動的に作成されます。事前に表領域を作成しておく必要はありません。ただし、インポートを開始する前に、データ・ファイルをターゲット・データベースにコピーする必要があります。

インポート・コマンドラインでTRANSPORT_TABLESPACESを指定する場合は、データベース・リンクを指定するためにNETWORK_LINKパラメータも使用する必要があります。データベース・リンクは2つの物理データベース・サーバー間の接続であり、データベース・リンクを使用すると、クライアントから1つの論理データベースとしてこれらのサーバーにアクセスできます。オブジェクト・メタデータはデータベース・リンクを使用してソース(NETWORK_LINKによって指定されるデータベース)からエクスポートされ、ターゲット(impdpコマンドが発行されるデータベース)に直接インポートされるため、NETWORK_LINKパラメータが必要となります。この処理にはダンプ・ファイルは関連しません。また、実際のデータがある場所をインポートが認識できるように、TRANSPORT_DATAFILESパラメータも指定する必要があります(実際のデータは、他の手段を使用した別の操作でターゲットにコピーされます)。

注意:

トランスポータブル表領域モード・エクスポートによって生成されたダンプ・ファイル・セットがすでにある場合、そのダンプ・ファイルのトランスポータブル・モード・インポートを実行できますが、この場合TRANSPORT_TABLESPACESまたはNETWORK_LINKを指定しません。指定するとエラーが発生します。かわりに、(メタデータを含んでいる)ダンプ・ファイルとTRANSPORT_DATAFILESパラメータを指定します。TRANSPORT_DATAFILESパラメータが存在することで、これがトランスポータブル・モード・インポートであることと、実際のデータを取得する場所がインポートに通知されます。

トランスポータブル・ジョブを実行する場合、ベスト・プラクティスは、インポート・ジョブがターゲット・システムで正常に完了するまで、ソース・システムにデータ・ファイルのコピーを保持することです。インポート・ジョブがなんらかの理由で失敗しても、破損していないデータ・ファイルのコピーが残ります。

制限事項

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

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

  • TRANSPORT_TABLESPACESパラメータを使用してトランスポータブル表領域インポートを実行するには、COMPATIBLE初期化パラメータを11.0.0以上に設定する必要があります。

  • オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。

次の例では、source_database_linkを有効なデータベース・リンクの名前に置き換えます。また、この例では、tbs6.dbfというデータ・ファイルが、ソース・データベースからローカル・システムにすでにコピーされているものとします。次の内容のパラメータ・ファイルtablespaces.parを作成したとします。

DIRECTORY=dpump_dir1
NETWORK_LINK=source_database_link
TRANSPORT_TABLESPACES=tbs_6
TRANSPORT_FULL_CHECK=NO
TRANSPORT_DATAFILES='user01/data/tbs6.dbf'

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

> impdp hr PARFILE=tablespaces.par

関連項目:

3.4.52 TRANSPORTABLE

デフォルト: NEVER

用途

表モード・インポート(TABLESパラメータで指定)または全体モード・インポート(FULLパラメータで指定)中にトランスポータブル・オプションを使用する必要があるかどうかを指定します。

構文および説明

TRANSPORTABLE = [ALWAYS | NEVER]

使用可能な値の定義は、次のとおりです。

ALWAYS: インポート・ジョブでトランスポータブル・オプションを使用するように指定します。トランスポータブルが使用できない場合、ジョブは失敗します。

表モード・インポートでトランスポータブル・オプションを使用すると、指定した表、パーティションまたはサブパーティションのメタデータのみがインポートされるトランスポータブル表領域インポートになります。

全体モード・インポートでトランスポータブル・オプションを使用すると、指定したデータベースのすべてのオブジェクトのメタデータがインポートされる全体トランスポータブル・インポートになります。

どちらの場合も、別々の操作でターゲット・データベースに実際のデータ・ファイルをコピー(および通常は変換)する必要があります。

トランスポータブル・ジョブを実行する場合、ベスト・プラクティスは、インポート・ジョブがターゲット・システムで正常に完了するまで、ソース・システムにデータ・ファイルのコピーを保持することです。インポート・ジョブがなんらかの理由で失敗しても、破損していないデータ・ファイルのコピーが残ります。

NEVER: インポート・ジョブでトランスポータブル・オプションではなくダイレクト・パスまたは外部表による方法を使用してデータをロードするように指示します。これはデフォルトです。

表のパーティションのサブセットのみをインポートし、TRANSPORTABLE=ALWAYSパラメータを使用すると、それぞれのパーティションが非パーティション表になります。

表のパーティションのサブセットのみをインポートし、TRANSPORTABLEパラメータを使用しない場合、またはそのパラメータが NEVERに設定されている場合(デフォルト)は、次のようになります。

  • PARTITION_OPTIONS=DEPARTITIONを使用している場合は、それぞれのパーティションが、非パーティション表として作成されます。

  • PARTITION_OPTIONS使用していない場合は、完全な表が作成されます。つまり、完全な表内のすべてのメタデータが、ソース上での表定義と同じになるようにターゲット・システム上に存在します。ただし、指定されたパーティション用のデータのみが表に挿入されます。

制限事項

  • インポートのTRANSPORTABLEパラメータは、NETWORK_LINKパラメータも指定されている場合のみ有効です。

  • TRANSPORTABLEパラメータは、表モード・インポートおよび全体モード・インポートでのみ有効です。

  • トランスポータブル・インポートを実行するユーザーでは、ソース・データベースでDATAPUMP_EXP_FULL_DATABASEロール、ターゲット・データベースでDATAPUMP_IMP_FULL_DATABASEロールが必要になります。

  • ネットワーク・インポートのために選択された記憶域を持つすべてのオブジェクトでは、ソース・システム上のすべての記憶域セグメントが、管理対象の非トランスポータブル表領域(SYSTEM / SYSAUX)内に全体として存在するか、ユーザー定義のトランスポータブル表領域内に全体として存在する必要があります。シングル・オブジェクトの記憶域は、2種類の表領域にまたがることはできません。

  • ソース・データベースがリリース11.2.0.3の場合にTRANSPORTABLEパラメータを使用してネットワーク・ベースの全体トランスポータブル・インポートを実行するには、データ・ポンプのVERSIONパラメータを12.0以上に設定する必要があります。ソース・データベースがリリース12.1以上の場合、VERSIONパラメータは不要ですが、COMPATIBLEデータベース初期化パラメータを12.0.0以上に設定する必要があります。

例1

次に、ネットワーク・リンク・インポート中にTRANSPORTABLEパラメータを使用した例を示します。

> impdp system TABLES=hr.sales TRANSPORTABLE=ALWAYS
  DIRECTORY=dpump_dir1 NETWORK_LINK=dbs1 PARTITION_OPTIONS=DEPARTITION
  TRANSPORT_DATAFILES=datafile_name 

例2

次に、NETWORK_LINKが、暗号化された表領域および暗号化された列を含む表が存在するOracle Database 11gリリース2 (11.2.0.3)を示している全体トランスポータブル・インポートを実行する場合にTRANSPORTABLEパラメータを使用した例を示します。

> impdp import_admin FULL=Y TRANSPORTABLE=ALWAYS VERSION=12 NETWORK_LINK=dbs1
  ENCRYPTION_PASSWORD=password TRANSPORT_DATAFILES=<datafile_name> 
  LOGFILE=dpump_dir1:fullnet.log

関連項目:

3.4.53 VERSION

デフォルト: インポート操作でVERSIONパラメータを指定する必要はありません。データ・ポンプは次のうちの古い方を使用します。

  • ネットワーク・インポートの場合、ダンプ・ファイルまたはソース・データベースに関連付けられているバージョン

  • ターゲット・データベースのCOMPATIBLE初期化パラメータで指定されたバージョン

用途

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

構文および説明

VERSION=[COMPATIBLE | LATEST | version_string]

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

  • COMPATIBLE - デフォルト値。メタデータのバージョンは、データベースの互換性レベルに対応します。データベースの互換性は、9.2.0以上に設定する必要があります。

  • LATEST: メタデータのバージョンは、データベースのリリースに対応します。ターゲット・データベースの実際のバージョンがCOMPATIBLE初期化パラメータで指定されたバージョンより新しいである場合、インポート・ジョブでVERSION=LATESTを指定しても影響がありません。

  • version_string: 特定のデータベース・リリース(11.2.0など)。

制限事項

  • データ・ポンプのVERSIONパラメータを12.1より前の任意の値に指定すると、4000バイトを超える長さのVARCHAR2またはNVARCHAR2列と、2000バイトを超える長さのRAW列を含む表は、データ・ポンプのダンプ・ファイルから除外されます。

  • ターゲットがOracle Database 12cリリース1 (12.1.0.1)以降で、ソースがOracle Database 11gリリース2 (11.2.0.3)以降である場合、ネットワーク・リンクで実行される全体インポートでは、VERSION=12を設定する必要があります。

  • データ・ポンプのパラメータVERSION=12を使用してOracle Database 11gリリースで作成したダンプ・ファイルは、Oracle Database 12cリリース1 (12.1)以上でのみインポートできます。

  • VERSIONパラメータの値がインポートに及ぼす影響は、データ・バインドされた照合(DBC)が有効になっているかどうかによって異なります。「データ・バインドされた照合に関連するOracle Data Pumpの動作」を参照してください。

次の例では、ターゲット・データベースをOracle Database 12cリリース1 (12.1.0.1)、ソース・データベースをOracle Database 11gリリース2 (11.2.0.3)と想定しています。ここでは、ネットワーク・ベース・インポートにVERSION=12を設定する必要があります。また、NETWORK_LINKパラメータを使用している場合、デフォルト・インポート・モードが全体モードであっても、コマンドラインでこれを指定する必要があります。

> impdp hr FULL=Y DIRECTORY=dpump_dir1
  NETWORK_LINK=source_database_link VERSION=12

3.4.54 VIEWS_AS_TABLES (ネットワーク・インポート)

デフォルト: デフォルト値は設定されていません。

注意:

このVIEWS_AS_TABLESの説明は、ネットワーク・インポート時に適用されます(データ・ポンプ・インポートのNETWORK_LINKパラメータの値を指定する場合)。ネットワーク・インポートではないインポートを実行する場合、「VIEWS_AS_TABLES (非ネットワーク・インポート)」を参照してください。

用途

1つ以上のビューを表としてインポートするように指定します。

構文および説明

VIEWS_AS_TABLES=[schema_name.]view_name[:table_name], ...

データ・ポンプによって、ビューと同じ列を持ち、ビューからフェッチされた行データを持つ表がインポートされます。データ・ポンプでは、ビューに依存する権限や制約などのオブジェクトもインポートされます。表に適用されない依存オブジェクト(UNDERオブジェクト権限の付与など)はインポートされません。VIEWS_AS_TABLESパラメータは、単独で使用するか、TABLESパラメータと組み合せて使用します。どちらを使用しても、データ・ポンプでは表モード・インポートが実行されます。

構文要素の定義は次のとおりです。

schema_name: ビューが存在するスキーマの名前。スキーマ名を指定しない場合、デフォルトで、インポートを実行するユーザーになります。

view_name: 表としてインポートするビューの名前。ビューは存在し、LOB以外のスカラー列のみを含むリレーショナル・ビューである必要があります。無効なビューや存在しないビューを指定すると、そのビューはスキップされてエラー・メッセージが返されます。

table_name: インポートされるビューのメタデータのソースとなる表の名前。デフォルトでは、データ・ポンプによって、ビューと同じ列およびデータ型を持つ、行の含まれない一時的なテンプレート表が自動的に作成されます。データベースが読取り専用の場合、このテンプレート表のデフォルトの作成には失敗します。この場合、表名を指定できます。表は、ビューと同じスキーマに属している必要があります。これは、ヒープ構成のパーティション化されていないリレーショナル表である必要があります。ネストした表にすることはできません。

テンプレート表が明示的に指定された複数のビューがインポート・ジョブに含まれる場合、それらのテンプレート表はすべて異なっている必要があります。たとえば、2つのビューで同じテンプレート表を使用している次のジョブでは、ビューの1つがスキップされます。

impdp hr DIRECTORY=dpump_dir NETWORK_LINK=dblink1 VIEWS_AS_TABLES=v1:employees,v2:employees

オブジェクトの省略をレポートするエラー・メッセージが返されます。

テンプレート表は、インポート操作の完了後に自動的に削除されます。それらが存在している間は、次の問合せを実行してその名前を表示できます(名前はすべてKU$VATで始まります)。

SQL> SELECT * FROM user_tab_comments WHERE table_name LIKE 'KU$VAT%';
TABLE_NAME                     TABLE_TYPE
------------------------------ -----------
COMMENTS
-----------------------------------------------------
KU$VAT_63629                   TABLE
Data Pump metadata template table for view HR.EMPLOYEESV

制限事項

  • VIEWS_AS_TABLESパラメータは、TRANSPORTABLE=ALWAYSパラメータと組み合せて使用することはできません。

  • VIEWS_AS_TABLESパラメータを使用して作成された表には、指定したビューの一部であった非表示列は含まれません。

  • VIEWS_AS_TABLESパラメータでは、LONGのデータ型の列のある表をサポートしていません。

次の例では、ネットワーク・インポートを実行して、読取り専用データベースからビューhr.v1のコンテンツをインポートします。ソース・データベースのhrスキーマには、ビューview1と同じジオメトリを持つテンプレート表が含まれる必要があります(この表はview1_tabと呼ばれます)。VIEWS_AS_TABLESパラメータには、ビュー名と表名をコロンで区切ってリストします。

> impdp hr VIEWS_AS_TABLES=view1:view1_tab NETWORK_LINK=dblink1 

ビューは、ビューからフェッチされた行を持つview1という表としてインポートされます。表のメタデータは、テンプレート表のview1_tabからコピーされます。

3.4.55 VIEWS_AS_TABLES (非ネットワーク・インポート)

デフォルト: デフォルト値は設定されていません。

用途

ビューとしてエクスポートされたダンプ・ファイルの1つ以上の表をインポートするように指定します。

構文および説明

VIEWS_AS_TABLES=[schema_name.]view_name,...

VIEWS_AS_TABLESパラメータは、単独で使用するか、TABLESパラメータと組み合せて使用します。どちらを使用しても、データ・ポンプでは表モード・インポートが実行されます。

構文要素の定義は次のとおりです。

schema_name: ビューが存在するスキーマの名前。スキーマ名を指定しない場合、デフォルトで、インポートを実行するユーザーになります。

view_name: 表としてインポートするビューの名前。

制限事項

  • VIEWS_AS_TABLESパラメータは、TRANSPORTABLE=ALWAYSパラメータと組み合せて使用することはできません。

  • VIEWS_AS_TABLESパラメータを使用して作成された表には、指定したビューの一部であった非表示列は含まれません。

  • VIEWS_AS_TABLESパラメータでは、LONGのデータ型の列のある表をサポートしていません。

次の例では、view1としてエクスポートされたscott1.dmpダンプ・ファイルの表をインポートします。

> impdp scott/tiger views_as_tables=view1 directory=data_pump_dir dumpfile=scott1.dmp

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

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

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

  • 接続されたクライアントから、[Ctrl]を押しながら[C]を押します。

  • ジョブを実行している端末以外の端末から、ATTACHパラメータを使用してジョブに接続します。この機能は、ある場所で開始したジョブを、後で別の場所から確認する場合に有効です。

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

表3-1 データ・ポンプ・インポートの対話方式コマンド・モードでサポートされているコマンド

操作 使用するコマンド

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

CONTINUE_CLIENT

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

EXIT_CLIENT

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

HELP

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

KILL_JOB

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

PARALLEL

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

START_JOB

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

STATUS

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

STOP_JOB

3.5.1 CONTINUE_CLIENT

用途

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

構文および説明

CONTINUE_CLIENT

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

Import> CONTINUE_CLIENT

3.5.2 EXIT_CLIENT

用途

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

構文および説明

EXIT_CLIENT

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

Import> EXIT_CLIENT

3.5.3 HELP

用途

対話方式コマンド・モードで使用可能なデータ・ポンプ・インポート・コマンドの情報を表示します

構文および説明

HELP

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

Import> HELP

3.5.4 KILL_JOB

用途

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

構文および説明

KILL_JOB

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

Import> KILL_JOB

3.5.5 PARALLEL

用途

現行のジョブに対してアクティブなワーカー・プロセスまたはPQスレーブ(あるいはその両方)の数を増減できます。

構文および説明

PARALLEL=integer

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

制限事項

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

Import> PARALLEL=10

関連項目:

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

3.5.6 START_JOB

用途

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

構文および説明

START_JOB[=SKIP_CURRENT=YES]

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

SKIP_CURRENTオプションでは、以前失敗したジョブ、または特定のオブジェクトでハングしたか、実行が遅いジョブを再開できます。失敗する文または現在処理されているオブジェクトはスキップされ、ジョブは次の項目から再開されます。パラレル・ジョブの場合は、このオプションが原因で、各ワーカーでの現在の処理がスキップされ、再開時に次の項目に移動されます。

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

Import> START_JOB

3.5.7 STATUS

用途

ジョブの累積的な状態、現行の操作の説明および推定完了率を表示します。ロギング・モードの状態を表示する間隔を再設定することもできます。

構文および説明

STATUS[=integer]

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

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

次に、現行のジョブの状態を表示し、ロギング・モードの表示間隔を2分(120秒)に変更する例を示します。

Import> STATUS=120

3.5.8 STOP_JOB

用途

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

構文および説明

STOP_JOB[=IMMEDIATE]

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

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

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

Import> STOP_JOB=IMMEDIATE

3.6 データ・ポンプ・インポートの使用例

この項では、データ・ポンプ・インポートの使用例を示します。

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

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

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

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

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

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

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

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

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

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

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

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

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

関連項目:

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

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

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

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

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

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

3.7 データ・ポンプ・インポートの構文図

この項では、データ・ポンプ・インポートの構文図を示します。これらの構文図では、標準SQL構文の表記法を使用します。SQL構文の表記法の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

ImpInit

ImpStart

ImpModes

ImpOpts

ImpOpts_続き

ImpContent

ImpEncrypt

ImpFilter

ImpPartitioning

ImpRacOpt

ImpRemap

注意: REMAP_DIRECTORYおよびREMAP_DATAFILEは、相互に排他的なパラメータです。

ImpFileOpts

ImpNetworkOpts

ImpDynOpts

ImpTransforms

ImpVersion

ImpDiagnostics