2 Oracle Data Pumpエクスポート

Oracle Data Pumpエクスポート・ユーティリティは、ダンプ・ファイル・セットと呼ばれる一連のオペレーティング・システム・ファイルにデータとメタデータをアンロードするために使用します。

2.1 Oracle Data Pumpエクスポートとは

Oracle Data Pumpエクスポートは、ダンプ・ファイル・セットと呼ばれるオペレーティング・システムのファイル・セットにデータとメタデータをアンロードするためのユーティリティです。

ダンプ・ファイル・セットは、Oracle Data Pumpインポート・ユーティリティを使用してのみインポートできます。ダンプ・ファイル・セットは、同じシステムでインポートすることも、別のシステムにインポートしてロードすることもできます。

ダンプ・ファイル・セットは、表データ、データベース・オブジェクトのメタデータ、制御情報を含む1つ以上のディスク・ファイルで構成されています。これらのファイルは独自のバイナリ形式で書き込まれています。インポート操作時に、Oracle Data Pumpインポート・ユーティリティは、このファイルを使用してダンプ・ファイル・セットの各データベース・オブジェクトの場所を特定します。

ダンプ・ファイルは、クライアントではなくサーバーによって書き込まれるため、ファイルが書き込まれるサーバーの場所を定義するディレクトリ・オブジェクトを作成する必要があります。

Oracle Data Pumpエクスポートでは、エクスポート・モードの決定に従って、ジョブがデータとメタデータのサブセットを移動するように指定できます。このサブセットの選択には、Oracle Data Pumpエクスポートのパラメータで指定するデータ・フィルタとメタデータ・フィルタを使用します。

ノート:

一部のシステム・スキーマは、ユーザー・スキーマではないため、エクスポートできません。システム・スキーマには、Oracleが管理するデータおよびメタデータが含まれています。エクスポートされないスキーマの例としては、SYS、ORDSYS、MDSYSなどがあります。また、セカンダリ・オブジェクトは、インポート時にCREATE INDEXによって再作成されるため、エクスポートされません。

2.2 Oracle Data Pumpエクスポートの起動

Oracle Data Pumpエクスポート・ユーティリティは、expdpコマンドを使用して起動します。

Oracle Data Pumpエクスポート操作の特性は、エクスポート・ユーティリティのパラメータの指定内容によって決まります。こうしたパラメータは、コマンドラインまたは構成ファイルのいずれかで指定できます。

注意:

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

2.2.1 Oracle Data Pumpエクスポートのインタフェース

Oracle Data Pumpエクスポートとは、コマンドライン、パラメータ・ファイルまたは対話方式コマンド・モードを使用して対話できます。

次の3つのオプションから選択します。

  • コマンドライン・インタフェース: ほとんどのエクスポート・パラメータを直接コマンドラインで指定できます。

  • パラメータ・ファイル・インタフェース: パラメータ・ファイルでコマンドラインのパラメータを指定できます。パラメータ・ファイルはネストできないため、PARFILEパラメータのみが例外となります。パラメータを使用するときに、その値に引用符が必要な場合は、パラメータ・ファイルの使用をお薦めします。

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

2.2.2 Oracle Data Pump Exportモード

エクスポート・ユーティリティには、Oracle Databaseデータの様々な部分をアンロードするための様々なモードがあります。

エクスポートのモードは、コマンドラインで適切なパラメータを使用して指定します。

ノート:

Oracleが管理するいくつかのOracle Databaseのシステム・スキーマは、ユーザー・スキーマではないためにエクスポートできません。それらのスキーマには、Oracleが管理するデータおよびメタデータが含まれています。エクスポートされないシステム・スキーマの例としては、SYSORDSYSMDSYSなどがあります。

2.2.2.1 全体エクスポート・モード

Oracle Data Pumpを使用すると、FULLパラメータを使用して全データベースのエクスポートを実行できます。

全データベース・エクスポートでは、データベース全体がアンロードされます。このモードには、DATAPUMP_EXP_FULL_DATABASEロールが必要です。

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

FULLパラメータをTRANSPORTABLE=ALWAYSパラメータとともに指定すると、データ・ポンプによって全体トランスポータブル・エクスポートが実行されます。全体トランスポータブル・エクスポートでは、データベースの完全なコピーを作成するために必要なすべてのオブジェクトおよびデータがエクスポートされます。次のデータ移動方法の組合せが使用されます。

  • トランスポータブル表領域に存在するオブジェクトは、そのメタデータのみがダンプ・ファイル・セットにアンロードされ、データ自体はデータ・ファイルをターゲット・データベースにコピーしたときに移動されます。コピーする必要のあるデータ・ファイルは、エクスポート操作のログ・ファイルの最後に表示されます。

  • 非トランスポータブル表領域に存在するオブジェクト(SYSTEMSYSAUXなど)は、ダイレクト・パス・アンロードおよび外部表を使用して、そのメタデータとデータの両方がダンプ・ファイル・セットにアンロードされます。

制限事項

全体トランスポータブル・エクスポートの実行には、次の制限があります。

  • 全体トランスポータブル・エクスポートを実行するユーザーには、DATAPUMP_EXP_FULL_DATABASE権限が必要です。

  • エクスポートを実行するユーザーのデフォルトの表領域を、転送対象となっている表領域のいずれかに設定することはできません。

  • エクスポートされるデータベースに、暗号化された表領域または暗号化された列(透過的データ暗号化(TDE)列またはSecureFiles LOB列)のある表が含まれる場合、ENCRYPTION_PASSWORDパラメータも指定する必要があります。

  • ソース・データベースとターゲット・データベースは、ソース・データベースに暗号化された表領域がある場合、同じエンディアンのプラットフォーム上に存在する必要があります。

  • ソース・プラットフォームとターゲット・プラットフォームのエンディアンが異なる場合、転送するデータを変換してターゲット・プラットフォームの形式にする必要があります。DBMS_FILE_TRANSFERパッケージまたはRMAN CONVERTコマンドを使用してデータを変換できます。

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

  • 全体トランスポータブル・エクスポートを使用してネットワークを介してデータベースを転送する場合、監査証跡情報自体がユーザー定義の表領域に格納されていると、管理表領域(SYSTEMSYSAUXなど)に格納された表に対して監査を有効にすることはできません。

  • ソース・データベースとターゲット・データベースの両方でOracle Database 12cを実行している場合、全体トランスポータブル・エクスポートを実行するには、Oracle Data PumpのVERSIONパラメータを12.0以上に設定するか、COMPATIBLEデータベース初期化パラメータを12.0以上に設定する必要があります。

Oracle Databaseからの全体エクスポート11.2.0.3

全体トランスポータブル・エクスポートは、リリース11.2.0.3以降を実行しているソース・データベースでサポートされます。全体トランスポータブル・エクスポートを実行するには、次の構文例に示すように、Oracle Data PumpのVERSIONパラメータを12.0以上に設定します。user_nameは、全体トランスポータブル・エクスポートを実行するユーザーです。

> expdp user_name FULL=y DUMPFILE=expdat.dmp DIRECTORY=data_pump_dir 
      TRANSPORTABLE=always VERSION=12.0 LOGFILE=export.log

拡張性フィルタを使用した全体エクスポートおよびインポート

次の例では、全体エクスポートを使用して、audit_trailsメタデータおよびデータのみをソース・データベースからターゲット・データベースにコピーします。

> expdp user/pwd directory=mydir full=y include=AUDIT_TRAILS
> impdp user/pwd directory=mydir

ソース・データベースからのエクスポートを完全モードで完了した場合は、全体エクスポートから監査証跡のみをインポートすることもできます。

> expdp user/pwd directory=mydir full=y
> impdp user/pwd directory=mydir include=AUDIT_TRAILS 

有効な拡張性タグのリストを取得するには、次の問合せを使用します。

SELECT OBJECT_PATH FROM DATABASE_EXPORT_PATHS WHERE tag=1 ORDER BY 1;
2.2.2.2 スキーマ・モード

データ・ポンプでスキーマ・エクスポートを指定するには、SCHEMASパラメータを使用します。スキーマ・エクスポートは、デフォルトのエクスポート・モードです。

DATAPUMP_EXP_FULL_DATABASEロールを所有している場合は、スキーマのリストを指定し、オプションでスキーマ定義およびこれらのスキーマに対するシステム権限を指定することができます。DATAPUMP_EXP_FULL_DATABASEロールを所有していない場合は、自分のスキーマのみをエクスポートできます。

SYSスキーマは、エクスポート・ジョブのソース・スキーマとして使用できません。

相互スキーマ参照は、参照されるスキーマがエクスポート対象のスキーマのリストにも指定されないかぎり、エクスポートされません。たとえば、指定されたいずれかのスキーマ内の表にトリガーが定義されていても、そのトリガーが、明示的に指定されていないスキーマ内に常駐している場合はエクスポートされません。また、指定されたスキーマ内の表が依存する外部型定義もエクスポートされません。この場合は、インポート時に、型定義がターゲット・インスタンスにすでに存在している必要があります。

関連トピック

2.2.2.3 表モード

Oracle Data Pumpを使用して表モード・エクスポートを実行するには、TABLESパラメータを使用して表を指定します。

表モードでは、指定した表、パーティションおよびそれらの依存オブジェクトのみがアンロードされます。所有するスキーマや列のタイプなど、表の作成に必要なすべてのオブジェクトがすでに存在している必要があります。

TRANSPORTABLE=ALWAYSパラメータとTABLESパラメータを組み合せて指定すると、オブジェクト・メタデータのみがアンロードされます。実際のデータを移動するには、データ・ファイルをターゲット・データベースにコピーします。これにより、エクスポート時間が短縮されます。異なるリリースまたはプラットフォーム間でデータ・ファイルを移動する場合は、データ・ファイルをOracle Recovery Manager (RMAN)で処理する必要があります。

自分のスキーマに存在しない表を指定するには、DATAPUMP_EXP_FULL_DATABASEロールが必要です。列の型定義は、表モードではエクスポートされません。この場合は、インポート時に、型定義がターゲット・インスタンスにすでに存在している必要があります。また、スキーマ・エクスポートの場合と同様に、相互スキーマ参照もエクスポートされません。

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

表モード・エクスポートを実行する場合、次の制限事項があります。

  • TRANSPORTABLE=ALWAYSパラメータをTABLESパラメータとともに使用する場合、エクスポート対象の表に暗号化された列(透過的データ暗号化(TDE)列またはSecureFiles LOB列のいずれか)が含まれている場合は、ENCRYPTION_PASSWORDパラメータも使用する必要があります。

2.2.2.4 表領域モード

データ・ポンプを使用して表領域エクスポートを実行するには、TABLESPACESパラメータを使用して表を指定します。

表領域モードでは、指定した表領域内に存在する表のみがアンロードされます。表がアンロードされると、その表の依存オブジェクトもアンロードされます。オブジェクトのメタデータとデータは、両方ともアンロードされます。表領域モードでは、指定した表領域内に表の一部が存在する場合、その表とその表のすべての依存オブジェクトがエクスポートされます。特権ユーザーは、すべての表を取得します。権限のないユーザーは、自分のスキーマ内の表のみを取得します。

関連トピック

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

Oracle Data Pumpを使用してトランスポータブル表領域エクスポートを実行するには、TRANSPORT_TABLESPACESパラメータを使用します。

トランスポータブル表領域モードでは、指定した表領域セット内にある表のメタデータ(およびその表の依存オブジェクト)のみがエクスポートされます。表領域データ・ファイルは別の操作でコピーされます。次に、トランスポータブル表領域インポートが実行され、メタデータを含むダンプ・ファイルのインポートと、使用するデータ・ファイルの指定が行われます。

トランスポータブル表領域モードでは、指定した表がすべてその表領域に含まれている必要があります。つまり、表領域セット内に定義されているすべての表(およびその索引)のすべての記憶域セグメントも、セット内に含まれている必要があります。表領域セット内に違反が含まれている場合は、エクスポート・ユーティリティが実際にエクスポートを実行することなくすべての問題を識別します。

指定した表領域内にある表の列の型定義がエクスポートおよびインポートされます。これらの型を所有するスキーマが、ターゲット・インスタンスに存在する必要があります。

Oracle Database 21c以降、トランスポータブル表領域のエクスポートは、1を超える並列度で実行できます。

ノート:

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

Oracle Data Pumpを使用してトランスポータブル表領域エクスポートを実行する場合、次の制限事項があります。

  • エクスポート対象のいずれかの表領域に、暗号化された列(透過的データ暗号化(TDE)列またはSecureFiles LOB列のいずれか)のある表が含まれている場合は、ENCRYPTION_PASSWORDパラメータも指定する必要があります。

  • エクスポート対象のいずれかの表領域が暗号化されている場合、ENCRYPTION_PASSWORDの使用はオプションですが、使用することをお薦めします。この場合、ENCRYPTION_PASSWORDを省略すると、次の警告メッセージが表示されます。

    ORA-39396: Warning: exporting encrypted data using transportable option without password

    この警告は、このようなトランスポータブル表領域ジョブを正常にインポートするには、エクスポートを実行するとき、ソース・データベースで使用されるものと同じデータベース・アクセス・キーのコピーが、ターゲット・データベース・ウォレットに含まれている必要があることを示します。エクスポート中およびインポート中にENCRYPTION_PASSWORDパラメータを使用すると、この要件は排除されます。

2.2.3 Oracle Data Pumpエクスポートのネットワークに関する考慮事項

Oracle Data Pumpエクスポート・ユーティリティexpdpがOracle* Netまたはネット・サービス名を使用して接続文字列に含まれた接続識別子でインスタンスを識別する方法と、NETWORK_LINKパラメータを使用したエクスポート操作との相違点について学習します。

expdpの起動時には、接続文字列で接続識別子を指定できます。この接続識別子は、現在のOracleシステムID (SID)で識別される現在のインスタンスとは別のものにすることができます。

接続識別子を手動で指定するには、Oracle*Net接続記述子、簡易接続識別子、または接続記述子にマップするネット・サービス名(通常、tnsnames.oraファイルで定義される)のいずれかを使用します。

接続識別子を使用する場合は、Oracle Net Listenerを実行している必要があります(デフォルト・リスナーを起動するには、lsnrctl startと入力します)。次の例では、このタイプの接続を示します(inst1が接続識別子です)。

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

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

Password: password

簡易接続文字列を指定するには、接続文字列はエスケープされた引用符付き文字列である必要があります。最も単純な形式の簡易接続文字列は、文字列database_host[:port][/[service_name]で構成されます。たとえば、ホストがinst1で、pdb1でExportを実行する場合、簡易接続文字列は次のようになります。

expdp hr@\"inst1@example.com/pdb1" DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp TABLES=employees

引用符なしの文字列を使用する場合は、パラメータ・ファイルで簡易接続接続文字列を指定できます。

ローカル・エクスポート・クライアントは接続識別子inst1 (Netサービス名)で定義されるデータベース・インスタンスに接続して、inst1からデータを取得し、そのデータをinst1のダンプ・ファイルhr.dmpに書き込みます。

エクスポート・ユーティリティの起動時に接続識別子を指定することと、NETWORK_LINKパラメータを使用してエクスポート操作を実行することは異なります。エクスポート操作を開始して接続識別子を指定すると、接続識別子によって識別されたデータベース・インスタンスにローカルのエクスポート・クライアントが接続され、データベース・インスタンスのデータが取得され、そのデータベース・インスタンスのダンプ・ファイル・セットにデータが書き込まれます。その一方、NETWORK_LINKパラメータを使用してエクスポートを実行すると、エクスポートはデータベース・リンクを使用して実行されるようになります。(データベース・リンクとは2つの物理データベース・サーバー間の接続で、データベース・リンクによってクライアントは2つの物理データベース・サーバーに1つの論理データベースとしてアクセスできます。)

2.3 エクスポート操作中のフィルタ処理

Oracle Data Pump Exportは、データとメタデータのフィルタ処理機能を提供します。この機能により、エクスポートする情報の種類を効果的に制限できます。

2.3.1 Oracle Data Pumpエクスポートのデータ・フィルタ

エクスポートする表の行に制限を指定するには、QUERYパラメータおよびSAMPLEパラメータを通じてOracle Data Pumpのデータ固有のフィルタ処理を使用します。

Oracle Data Pumpは、メタデータのフィルタ処理のためにデータのフィルタ処理を間接的に実装することもできます。この処理では、表オブジェクトおよび関連付けられた行データを含めたり、除外したりできます。

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

2.3.2 Oracle Data Pumpのメタデータ・フィルタ

エクスポート操作にオブジェクトを含めるまたは除外するには、Oracle Data Pumpのメタデータ・フィルタを使用します。

メタデータのフィルタ処理は、EXCLUDEおよびINCLUDEパラメータによって実装されます。メタデータ・フィルタは、エクスポートやインポート操作に含めたり除外したりする必要があるオブジェクトを識別します。たとえば、パッケージ仕様またはパッケージ本体を含まない全体エクスポートを要求できます。

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

Oracle Database 21c以降、Oracle Data Pumpでは、同じコマンド内でINCLUDEEXCLUDEの両方のパラメータを設定できます。コマンドに両方のパラメータを含めると、Oracle Data PumpではINCLUDEパラメータが最初に処理され、Oracle Data Pumpジョブには、含まれていると識別されたオブジェクトのみが含まれるようになります。次に、EXCLUDEパラメータが処理され、ジョブによって処理されるオブジェクトがさらに制限される場合があります。コマンドの実行時に、INCLUDEオブジェクトのリストにあるEXCLUDEパラメータで指定されたすべてのオブジェクトが削除されます。

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

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

DATABASE_EXPORT_OBJECTS(全体モードの場合)、SCHEMA_EXPORT_OBJECTS(スキーマ・モードの場合)、TABLE_EXPORT_OBJECTS(表および表領域モードの場合)ビューを問い合せて、有効なオブジェクト・タイプ値の一覧を表示できます。OBJECT_PATH列にリストされる値が有効なオブジェクト・タイプです。たとえば、次の問合せを実行できます。

SQL> SELECT OBJECT_PATH, COMMENTS FROM SCHEMA_EXPORT_OBJECTS
  2  WHERE OBJECT_PATH LIKE '%GRANT' AND OBJECT_PATH NOT LIKE '%/%';

次に、この問合せの出力結果の例を示します。

OBJECT_PATH
--------------------------------------------------------------------------------
COMMENTS
--------------------------------------------------------------------------------
GRANT
Object grants on the selected tables
 
OBJECT_GRANT
Object grants on the selected tables
 
PROCDEPOBJ_GRANT
Grants on instance procedural objects
 
PROCOBJ_GRANT
Schema procedural object grants in the selected schemas
 
ROLE_GRANT
Role grants to users associated with the selected schemas
 
SYSTEM_GRANT
System privileges granted to users associated with the selected schemas

2.4 データ・ポンプ・エクスポート・コマンドライン・モードで使用可能なパラメータ

データ・エクスポートを管理するには、エクスポート(expdp)用のOracle Data Pumpパラメータを使用します。

2.4.1 Oracle Data Pump Exportのパラメータについて

大/小文字の区別、引用符、エスケープ文字、使用方法の例に関する情報など、コマンドライン・モードでOracle Data Pump Exportパラメータを使用する方法について学習します。

次の例を使用して、コマンドラインでOracle Data Pumpエクスポートを使用する方法を理解してください。

エクスポート・パラメータの指定

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

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

expdp 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ユーザーに付与されているものとします。

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

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

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

関連項目:

システムでの特殊文字および予約文字の処理方法の詳細は、ご使用のオペレーティング・システム固有のドキュメントを参照してください。

2.4.2 ABORT_STEP

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのABORT_STEPパラメータでは、ジョブの初期化後に、そのジョブを停止します。

デフォルト

Null

用途

ジョブの初期化後に、そのジョブを停止する場合に使用します。ジョブを初期化後に停止すると、データがエクスポートされる前に問い合せるデータ・ポンプ制御ジョブ表を問い合せることができます。

構文および説明

ABORT_STEP=[n | -1]

可能な値は、データ・ポンプ制御ジョブ表のプロセス順序番号に対応します。各番号の使用結果は次のとおりです。

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

  • -1: 値が負の1 (-1)の場合は、ジョブの設定後(ただし、オブジェクトまたはデータのエクスポート前)に、ジョブが中断されます。

制限事項

  • なし

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr ABORT_STEP=-1

2.4.3 ACCESS_METHOD

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのACCESS_METHODパラメータでは、エクスポートで特定のメソッドを使用してデータをアンロードするように指定します。

デフォルト

AUTOMATIC

用途

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

構文および説明

ACCESS_METHOD=[AUTOMATIC | DIRECT_PATH | EXTERNAL_TABLE | INSERT_AS_SELECT]

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

使用可能なオプションは次のとおりです。
  • AUTOMATIC—それぞれの表について、データをアップロードする最適な方法がOracle Data Pumpによって判断されます。できるだけAUTOMATICを使用することをお薦めします。これは、データ・ポンプが最も効果的な方法を自動的に選択できるようになるためです。

  • DIRECT_PATH—Oracle Data Pumpによって、すべての表に対して、ダイレクト・パス・アンロードが使用されます。

  • EXTERNAL_TABLE—Oracle Data Pumpによって、SQL文CREATE TABLE AS SELECTを使用して、ダンプ・ファイルに格納されているデータを使用する外部表が作成されます。SELECT句では、アンロードする表から読み取ります。

  • INSERT_AS_SELECT—Oracle Data Pumpによって、SQL文INSERT AS SELECTが実行され、リモート・データベースからデータがアンロードされます。このオプションは、ネットワーク・モード・エクスポートでのみ使用できます。

制限事項

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

  • Oracle Data PumpエクスポートのACCESS_METHODパラメータは、トランスポータブル表領域のジョブに対して有効ではありません。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr 
ACCESS_METHOD=EXTERNAL_TABLE 

2.4.4 ATTACH

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのATTACHパラメータでは、ワーカーまたはクライアント・セッションを既存のエクスポート・ジョブに接続し、自動的に対話方式コマンド・インタフェースに移動します。

デフォルト

デフォルトは、ユーザー・スキーマに現在存在するジョブです(ジョブが存在する場合)。

用途

ワーカー・セッションを既存のデータ・ポンプ制御エクスポート・ジョブにアタッチし、対話方式コマンド・インタフェースに自動的に配置します。接続先のジョブの説明およびエクスポート・プロンプトが表示されます。

構文および説明

ATTACH [=[schema_name.]job_name]

schema_nameは、オプションです。自分のスキーマ以外のスキーマを指定するには、DATAPUMP_EXP_FULL_DATABASEロールが必要です。

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

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

制限事項

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

  • 接続するジョブが最初に暗号化パスワードを使用して起動している場合、そのジョブへの接続時に、コマンドライン上のENCRYPTION_PASSWORDパラメータを再入力してそのパスワードを再指定する必要があります。この要件の唯一の例外は、ジョブが最初にENCRYPTION=ENCRYPTED_COLUMNS_ONLYパラメータを使用して開始されている場合です。この場合、ジョブへの接続時に暗号化パスワードは必要ありません。

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

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

  • データ・ポンプ制御表をなんらかの方法で変更すると、予測できない結果になります。

次に、ATTACHパラメータの使用例を示します。ジョブhr.export_jobがすでに存在するものとします。

> expdp hr ATTACH=hr.export_job

2.4.5 CHECKSUM

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのCHECKSUMパラメータを使用すると、エクスポート・ユーティリティでエクスポートのチェックサム検証を実行できます。

デフォルト

デフォルト値は、使用されるチェックサム関連パラメータの組合せによって異なります。チェックサムを有効にするには、パラメータのCHECKSUMまたはCHECKSUM_ALGORITHMを指定する必要があります。

CHECKSUM_ALGORITHMパラメータのみを指定した場合、CHECKSUMYESにデフォルト設定されます。

CHECKSUMCHECKSUM_ALGORITHMのどちらのパラメータも指定していないと、CHECKSUMNOにデフォルト設定されます。

用途

Oracle Data Pumpでエクスポート・ダンプ・ファイル・セットのチェックサムを計算するかどうかを指定します。

チェックサムはジョブの最後に計算されるため、時間はファイルのサイズに従ってスケーリングされます。複数のファイルを並列処理できます。このパラメータを使用すると、ダンプファイルが完全であり、ネットワークを介してオブジェクト・ストアにコピーされた後に破損していないことを検証したり、古いダンプファイル検証したりできます。

構文および説明

CHECKSUM=[YES|NO]
  • YES: Oracle Data Pumpで、エクスポート・ダンプ・ファイル・セット内のダンプ・ファイルごとに、ファイルのチェックサムを計算するように指定します。
  • NO: Oacleデータ・ポンプでファイルのチェックサムを計算しないように指定します。

制限事項

このチェックサム機能を使用するには、COMPATIBLE初期化パラメータを 20.0以上に設定する必要があります。

この例では、HRスキーマのスキーマ・モード・アンロードを実行し、ダンプ・ファイル・セット内のダンプ・ファイルごとにSHA256 (デフォルトのCHECKSUM_ALGORITHM)チェックサムを生成します。


expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp CHECKSUM=YES

2.4.6 CHECKSUM_ALGORITM

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのCHECKSUM_ALGORITHMパラメータでは、チェックサムの計算に使用するチェックサム・アルゴリズムを指定します。

デフォルト

デフォルト値は、使用されるチェックサム関連パラメータの組合せによって異なります。チェックサムを有効にするには、パラメータのCHECKSUMまたはCHECKSUM_ALGORITHMを指定する必要があります。

CHECKSUMパラメータをYESに設定して、CHECKSUM_ALGORITHMに値を指定しないと、CHECKSUM_ALGORITHMSHA256 Secure Hash Algorithmにデフォルト設定されます。

用途

暗号化ハッシュを使用することで、ダンプ・ファイルのヘッダー・ブロック以降の内容の整合性を確保できるようにします。これにより、送信エラーなどの発生原因になることがあるダンプ・ファイル内の意図しないエラーをなくします。設定する値によって、Oracle Data Pumpでエクスポート・ダンプ・ファイル・セットのチェックサム計算するかどうかと、チェックサムの計算に使用するハッシュ・アルゴリズムを指定します。

構文および説明

CHECKSUM_ALGORITHM = [CRC32|SHA256|SHA384|SHA512]
  • CRC32: Oracle Data Pumpで32ビット・チェックサムを生成するように指定します。
  • SHA256: Oracle Data Pumpで256ビット・チェックサムを生成するように指定します。
  • SHA384: Oracle Data Pumpで384ビット・チェックサムを生成するように指定します。
  • SHA512: Oracle Data Pumpで512ビット・チェックサムを生成するように指定します。

制限事項

このチェックサム機能を使用するには、COMPATIBLE初期化パラメータを 20.0以上に設定する必要があります。

この例では、HRスキーマのスキーマ・モード・アンロードを実行し、生成されたダンプ・ファイル・セット内のファイルごとにSHA384チェックサムを生成します。

expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp CHECKSUM_ALGORITHM=SHA384

2.4.7 CLUSTER

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのCLUSTERパラメータでは、データ・ポンプでOracle RACリソースを使用できるかどうかと、ワーカーを他のOracle RACインスタンス上で開始できるかどうかを指定します。

デフォルト

YES

用途

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

構文および説明

CLUSTER=[YES | NO]

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

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

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

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

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_clus%U.dmp CLUSTER=NO PARALLEL=3

この例では、hrスキーマのスキーマ・モード・エクスポート(デフォルト)を実行します。CLUSTER=NOが指定されているため、ジョブでは起動時のインスタンスのみが使用されます。CLUSTERパラメータを指定しない場合は、デフォルト値のYが使用されます。この値を使用すると、必要に応じて、ワーカーはOracle RACクラスタ内の他のインスタンスで開始されます。ダンプ・ファイルは、dpump_dir1ディレクトリ・オブジェクトに指定された場所に書き込まれます。ジョブでは、パラレル処理を最大3つまで実行できます。

2.4.8 COMPRESSION

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのCOMPRESSIONパラメータでは、ダンプ・ファイル・セットに書き込む前に圧縮するデータを指定します。

デフォルト

METADATA_ONLY

用途

ダンプ・ファイル・セットに書き込む前に圧縮するデータを指定します。

構文および説明

COMPRESSION=[ALL | DATA_ONLY | METADATA_ONLY | NONE]
  • ALLを指定すると、エクスポート操作全体について圧縮が有効になります。ALLオプションでは、Oracle Advanced Compressionオプションを有効にする必要があります。

  • DATA_ONLYを指定すると、すべてのデータが圧縮形式でダンプ・ファイルに書き込まれます。DATA_ONLYオプションでは、Oracle Advanced Compressionオプションを有効にする必要があります。

  • METADATA_ONLYを指定すると、すべてのメタデータが圧縮形式でダンプ・ファイルに書き込まれます。これはデフォルトです。

  • NONEを指定すると、エクスポート操作全体について圧縮が無効になります。

制限事項

  • これらすべての圧縮オプションを使用するには、COMPATIBLE初期化パラメータを11.0.0以上に設定する必要があります。

  • METADATA_ONLYオプションは、たとえCOMPATIBLE初期化パラメータが10.2に設定されていても使用できます。

  • ALLまたはDATA_ONLYを使用したデータ圧縮は、Oracle Database 11g以降のEnterprise Editionでのみ有効で、Oracle Advanced Compressionオプションを有効にする必要があります。

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

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_comp.dmp COMPRESSION=METADATA_ONLY

このコマンドは、スキーマ・モードのエクスポートを実行し、すべてのメタデータを圧縮してからダンプ・ファイルhr_comp.dmpに書き出します。エクスポート・モードが指定されていないため、デフォルトでスキーマ・モードのエクスポートになります。

Oracle Advanced Compressionオプションのライセンス要件の詳細は、Oracle Databaseライセンス情報を参照してください。

2.4.9 COMPRESSION_ALGORITHM

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのCOMPRESSION_ALGORITHMパラメータでは、ダンプ・ファイル・データの圧縮時に使用する圧縮アルゴリズムを指定します。

デフォルト

BASIC

用途

ダンプ・ファイル・データを圧縮する場合に使用する圧縮アルゴリズムを指定します。

構文および説明

COMPRESSION_ALGORITHM = [BASIC | LOW | MEDIUM | HIGH]

パラメータ・オプションの定義は次のとおりです。

  • BASIC: 圧縮率と速度の適度な組合せが実現し、使用されるアルゴリズムはOracle Data Pumpの以前のバージョンと同じです。

  • LOW: エクスポート・スループットへの影響が最小です。このオプションは、CPUリソースが制限要因となる環境に適しています。

  • MEDIUM: ほとんどの環境に適しています。このオプションはBASICオプションと同様、圧縮率と処理速度を加味したよい組合せですが、BASICとは異なるアルゴリズムが使用されています。

  • HIGH: ネットワーク速度が限定要因となっている、速度が遅いネットワークでダンプ・ファイルがコピーされる状況に最適です。

圧縮アルゴリズムのパフォーマンスを、そのCPU使用量および圧縮率(非圧縮の入力に対する割合としての圧縮済の出力のサイズ)によって特徴付けます。これらの測定値は、使用される圧縮アルゴリズムの速度に加え、入力のサイズおよびタイプに基づいて変化します。基本的に圧縮率はLOWからHIGHへと高くなります。ただし、圧縮率の上昇に応じて、消費されるCPUリソースが多くなります。

ご使用の環境で、データに対して様々な圧縮レベルをテストすることをお薦めします。エクスポートされるダンプ・ファイル・セットの圧縮レベルがパフォーマンスおよび記憶域要件を満たすようにするには、環境、ワークロードの特性、およびデータのサイズとタイプに基づいて圧縮レベルを選択します。

制限事項

  • この機能を使用するには、データベース互換性を12.0.0以上に設定する必要があります。

  • この機能では、Oracle Advanced Compressionオプションを有効にする必要があります。

例1

この例では、HRスキーマのスキーマ・モード・アンロードを実行し、低い圧縮レベルの圧縮アルゴリズムを使用して表データのみを圧縮します。このコマンド・オプションを使用すると、最適な圧縮率を得ることはできませんが、使用されるCPUリソースの数を抑えることができます。

	> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp COMPRESSION=DATA_ONLY 
COMPRESSION_ALGORITHM=LOW

例2

この例では、HRスキーマのスキーマ・モード・アンロードを実行し、基本の圧縮レベルを使用してメタデータと表データの両方を圧縮します。COMPRESSION_ALGORITHMパラメータを完全に省略することは、値としてBASICを指定することと同じです。

	> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp COMPRESSION=ALL COMPRESSION_ALGORITHM=BASIC

2.4.10 CONTENT

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのCONTENTパラメータを使用すると、エクスポートでアンロードする内容を、データのみ、メタデータのみ(あるいはその両方)でフィルタ処理できます。

デフォルト

ALL

用途

エクスポート・ユーティリティでアンロードする内容を、データのみ、メタデータのみ(あるいはその両方)でフィルタ処理できます。

構文および説明

CONTENT=[ALL | DATA_ONLY | METADATA_ONLY]
  • ALLを指定すると、データとメタデータの両方がアンロードされます。このオプションはデフォルトです。

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

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

制限事項

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

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

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp CONTENT=METADATA_ONLY

このコマンドでは、hrのスキーマに関連付けられたメタデータのみをアンロードするスキーマ・モード・エクスポートが実行されます。エクスポート・モードが指定されていないため、デフォルトでhrスキーマのスキーマ・モードのエクスポートになります。

2.4.11 CREDENTIAL

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのCREDENTIALパラメータを使用すると、オブジェクト・ストアに格納されるデータをエクスポート・ユーティリティで書き込めるようになります。

デフォルト

なし。

用途

Oracle Data Pumpでオブジェクト・ストアにデータ・ファイルを書き込めるようにします。データ・ファイルについては、オブジェクト・ストアに格納するデータ・ファイルのURIを指定できます。CREDENTIALの値により、エクスポートを開始するユーザーに付与される資格証明を指定します。そうした権限によって、Oracle Data Pumpエクスポートはオブジェクト・ストアへのアクセスと書込みが可能になり、Oracle Cloud Infrastructureオブジェクト・ストアにデータ・ファイルを書き込めるようになります。

構文および説明

CREDENTIAL=user-credential

使用上のノート

CREDENTIALパラメータでは、expdpDUMPFILEのテキスト文字列を解釈する方法を変更します。CREDENTIALパラメータが指定されていない場合、DUMPFILEパラメータでは、オプションのディレクトリ・オブジェクトおよびファイル名をdirectory-object-name:file-name形式で指定できます。CREDENTIALパラメータを使用すると、DUMPFILEで指定された1つ以上のオブジェクト・ストレージURIに書き込むための認証および認可がexpdpに提供されます。

CREDENTIALパラメータを指定しない場合、DUMPFILE値はURIとしては扱われず、ファイル指定として扱われます。DUMPFILE指定にはファイル名のみが含まれており、パスを含めることはできません。そのため、CREDENTIALパラメータを指定しない場合、次のエラーが発生します。

ORA-39001: invalid argument value 
ORA-39000: bad dump file specification 
ORA-39088: file name cannot contain a path specification

制限事項

  • 資格証明パラメータは、OCIリソース・プリンシパル、Azureサービス・プリンシパル、Amazonリソース名(ARN)またはGoogleサービス・アカウントにはできません。

  • クラウド・システムの場合、UTIL_FILEではクラウドへの書込みがサポートされません。その場合、エクスポート・ユーティリティはDEFAULT_DIRECTORYパラメータで設定された値をログ・ファイルの場所として使用します。また、ディレクトリ・オブジェクトの名前は、LOGFILEのファイル名の一部として指定することもできます。
  • ダンプ・ファイルのURIを指定しようとしたときに、CREDENTIALパラメータが指定されていない場合は、前述の使用上のノートに示すようにエラーORA-39000 bad dumpfile specificationが発生します。

次の例では、資格証明sales-deptが提供され、DUMPFILEにより、エクスポートするオブジェクト・ストレージURIを指定しています。


expdp hr DUMPFILE=https://objectstorage.example.com/images_basic.dmp CREDENTIAL=sales-dept

次の例では、資格証明を指定していません。

expdp hr DUMPFILE=dir obj:filename 

2.4.12 DATA_OPTIONS

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのDATA_OPTIONSパラメータでは、特定のデータ型に対するエクスポート操作中の処理方法を指定します。

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

用途

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

構文および説明

  • GROUP_PARTITION_TABLE_DATA: 各表パーティションを別々の操作としてアンロードするのではなく、1つの操作ですべての表データをアンロードするように、データ・ポンプに指示します。その結果、インポート時に表の定義は考慮されません(インポートでは表全体にロードされる1つのデータ・パーティションが参照されるため)。

  • VERIFY_STREAM_FORMAT: データ・ストリームがデータ・ポンプ・ダンプ・ファイルに書き込まれる前に、データ・ストリームの形式を検査します。この検証では、ストリームが生成されてからディスクに書き込まれる前に、有効な形式かどうかがチェックされます。これにより、ダンプ・ファイル作成時のエラーがなくなるため、インポート時にストリームが読み取られる際のエラーも回避できます。

制限事項

DATA_OPTIONS= [GROUP_PARTITION_TABLE_DATA | VERIFY_STREAM_FORMAT]
  • エクスポート・ユーティリティのDATA_OPTIONSパラメータを使用する場合は、ジョブ・バージョンを11.0.0以上に設定する必要があります。VERSIONを参照してください。

この例では、パーティションごとにデータをアンロードする個別のデフォルトの動作ではなく、表のすべてのパーティションのデータが一緒にアンロードされるエクスポート操作を示しています。

> expdp hr TABLES=hr.tab1 DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp VERSION=11.2 GROUP_PARTITION_TABLE_DATA

XMLType表のエクスポートおよびインポートに固有の情報は、Oracle XML DB開発者ガイドを参照してください。

関連トピック

2.4.13 DIRECTORY

Oracle Data Pump Exportコマンドライン・ユーティリティのDIRECTORYパラメータでは、エクスポートがダンプ・ファイル・セットおよびログ・ファイルを書き込むことができるデフォルトの場所を指定します。

デフォルト

DATA_PUMP_DIR

用途

エクスポート・ユーティリティによるダンプ・ファイル・セットおよびログ・ファイルのデフォルトの書込み先を指定します。

構文および説明

DIRECTORY=directory_object

directory_objectは、データベース・ディレクトリ・オブジェクトの名前です。実際のディレクトリのファイル・パスではありません。特権ユーザーにDATA_PUMP_DIRという名前のデフォルトのディレクトリ・オブジェクトへのアクセス権が付与されます。DATA_PUMP_DIRディレクトリの定義は、アップグレード時またはパッチの適用時にOracleによって変更される可能性があります。

デフォルトのDATA_PUMP_DIRディレクトリ・オブジェクトにアクセス可能なユーザーは、DIRECTORYパラメータを使用する必要はありません。

DUMPFILEパラメータやLOGFILEパラメータで指定したディレクトリ・オブジェクトは、DIRECTORYパラメータに指定したディレクトリ・オブジェクトよりも優先されます。

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

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=employees.dmp CONTENT=METADATA_ONLY

この例では、employees.dumpが、ディレクトリ・オブジェクトdpump_dir1に関連付けられているパスに書き込まれます。

2.4.14 DUMPFILE

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのDUMPFILEパラメータでは、エクスポート・ジョブのダンプ・ファイルの名前を指定し、オプションで、これらのディレクトリ・オブジェクトを指定します。

デフォルト

expdat.dmp

用途

名前を指定します。指定する場合は、エクスポート・ジョブに対するダンプ・ファイルのディレクトリ・オブジェクトを指定します。

構文および説明

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

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

カンマで区切ったリストまたは個別のDUMPFILEパラメータ指定で、複数のfile_name指定を定義できます。ファイル拡張子を指定しない場合は、デフォルトのファイル拡張子.dmpが使用されます。ファイル名には置換変数を含めることができます。次の表に、使用可能な置換変数を示します。

置換変数 意味
%U 生成されるファイル名では、置換変数が、01から99まで増加する固定幅の2桁の整数に変換されます。ファイル指定に2つの置換変数が含まれている場合は、両方の変数が同時に増加します。たとえば、exp%Uaa%U.dmpは、exp01aa01.dmpexp02aa02.dmpというように変換されます。
%d%D グレゴリオ暦による月の現在の日付をDD形式で指定します。

ノート: この置換変数はインポート・ファイル名には使用できません。

%m%M グレゴリオ暦による月をMM形式で指定します。

ノート: この置換変数はインポート・ファイル名には使用できません。

%t%T グレゴリオ暦による年、月および日をYYYYMMDD形式で指定します。

ノート: この置換変数はインポート・ファイル名には使用できません。

%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)まで、置換が続きます。

%y%Y 年をYYYY形式で指定します。

ノート: この置換変数はインポート・ファイル名には使用できません。

FILESIZEパラメータを指定すると、各ダンプ・ファイルがそのサイズを上限とするため、拡張できなくなります。置換変数を持つテンプレートを指定していて、ダンプ・ファイル・セットに必要な領域が不足し、デバイスに余裕がある場合は、FILESIZEパラメータで指定したサイズの新しいダンプ・ファイルが自動的に作成されます。

置換変数が含まれているファイル指定またはファイル・テンプレートは、定義されているとおり、完全修飾されたファイル名としてインスタンス化され、エクスポートによってファイルが作成されます。ファイル指定は、指定した順序で処理されます。ファイル・サイズが上限に達したか、またはパラレル処理をアクティブなままにするためにジョブにファイルを追加する必要がある場合、置換変数を持つファイル・テンプレートが指定されていれば、追加のファイルが作成されます。

DUMPFILEパラメータで複数のファイルを指定することもできますが、エクスポート・ジョブでエクスポート・データを保持するために必要となるのは、それらのファイルのサブセットのみの場合もあります。エクスポート・ジョブの最後に表示されるダンプ・ファイル・セットには、実際に使用されたファイルが示されます。このダンプ・ファイル・セットを使用するインポート操作には、このファイル・リストが必要になります。使用されなかったファイルは無視してかまいません。

DUMPFILEパラメータを指定する場合、置換変数を使用するかどうかに関係なく、ファイル名の競合が発生する可能性があります。ファイル名の競合が発生するexpdpコマンドのいくつかの例を次に示します。これらのすべての例で、「ORA-27308 作成したファイルはすでに存在します」というエラーが返されます。

expdp system/manager directory=dpump_dir schemas=hr DUMPFILE=foo%U.dmp,foo%U.dmp
expdp system/manager directory=dpump_dir schemas=hr DUMPFILE=foo%U.dmp,foo%L.dmp
expdp system/manager directory=dpump_dir schemas=hr DUMPFILE=foo%U.dmp,foo%D.dmp
expdp system/manager directory =dpump_dir schemas=hr DUMPFILE=foo%tK_%t_%u_%y_P,foo%TK_%T_%U_%Y_P

制限事項

  • 作成されるダンプ・ファイルの名前と既存のダンプ・ファイルの名前が一致すると、エラーが生成されます。既存のダンプ・ファイルが上書きされることはありません。この動作を上書きするには、エクスポート・ユーティリティのパラメータREUSE_DUMPFILES=YESを指定します。

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

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

> expdp hr SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=dpump_dir2:exp1.dmp,
 exp2%U.dmp PARALLEL=3

ダンプ・ファイルexp1.dmpは、ディレクトリ・オブジェクトdpump_dir2に対応するパスに書き込まれます。これは、dpump_dir2が、ダンプ・ファイル名の一部として指定されたことによって、DIRECTORYパラメータで指定されたディレクトリ・オブジェクトよりも優先されるためです。3つのパラレル処理のすべてに、このジョブの間に実行する作業が与えられるため、指定した置換変数exp2%U.dmpに基づいて、exp201.dmpおよびexp202.dmpという名前のダンプ・ファイルが作成されます。ディレクトリが指定されていないため、作成されたファイルは、DIRECTORYパラメータで指定されたディレクトリ・オブジェクトdpump_dir1に関連付けられたパスに書き込まれます。

2.4.15 ENABLE_SECURE_ROLES

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのENABLE_SECURE_ROLESパラメータでは、エクスポート時の保護されているロールの誤用を防止します。

デフォルト

Oracle Database 19c以降のリリースでは、デフォルト値はNOです。

用途

Oracleロールには、認証が必要なものがあります。そのようなロールをOracle Data Pumpエクスポートで使用する必要がある場合は、ENABLE_SECURE_ROLESパラメータをYESに設定することで明示的に使用可能にする必要があります。

構文

ENABLE_SECURE_ROLES=[NO|YES]

  • NO: 認証が必要なOracleロールを使用できないようにします。

  • YES: 認証が必要なOracleロールを使用可能にします。

expdp hr SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=dpump_dir2:exp1.dmp,
 exp2%U.dmp ENABLE_SECURE_ROLES=YES

2.4.16 ENCRYPTION

Oracle Data Pump Exportのコマンドライン・ユーティリティのENCRYPTIONパラメータでは、ダンプ・ファイル・セットに書き込む前にデータを暗号化するかどうかを指定します。

デフォルト

デフォルト値は、使用される暗号化関連パラメータの組合せによって異なります。暗号化を有効にするには、ENCRYPTIONまたはENCRYPTION_PASSWORDパラメータ、あるいは両方を指定する必要があります。

ENCRYPTION_PASSWORDパラメータのみが指定されている場合は、デフォルトでENCRYPTIONパラメータがALLに設定されます。

ENCRYPTIONパラメータのみが指定され、Oracle暗号化ウォレットがオープン状態の場合、デフォルト・モードはTRANSPARENTになります。ENCRYPTIONパラメータのみが指定され、ウォレットが閉じられている場合は、エラーが返されます。

ENCRYPTIONENCRYPTION_PASSWORDのいずれも指定しない場合、ENCRYPTIONのデフォルト値はNONEとなります。

用途

ダンプ・ファイル・セットに書き込む前にデータを暗号化するかどうかを指定します。

構文および説明

ENCRYPTION = [ALL | DATA_ONLY | ENCRYPTED_COLUMNS_ONLY | METADATA_ONLY | NONE]
  • ALLを指定すると、エクスポート操作ですべてのデータおよびメタデータについて暗号化が有効になります。

  • DATA_ONLYを指定すると、データのみが暗号化形式でダンプ・ファイル・セットに書き込まれます。

  • ENCRYPTED_COLUMNS_ONLYを指定すると、暗号化された列のみが暗号化形式でダンプ・ファイル・セットに書き込まれます。列にはすでに割り当てられた暗号化形式があり、定義によって列が保持できる暗号化形式は1つのみであるため、このオプションをENCRYPTION_ALGORITHMパラメータとともに使用することはできません。

    ENCRYPTED_COLUMNS_ONLYオプションを使用するには、ENCRYPTION_PASSWORDパラメータも使用する必要があります。

    ENCRYPTED_COLUMNS_ONLYオプションを使用するには、Oracle Advanced Securityのデータの透過的な暗号化(TDE)を有効にする必要があります。TDEの詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

  • METADATA_ONLYを指定すると、メタデータのみが暗号化形式でダンプ・ファイル・セットに書き込まれます。

  • NONEを指定すると、データは暗号化形式でダンプ・ファイル・セットに書き込まれません。

暗号化に関するSecureFilesの考慮点

エクスポート対象のデータに暗号化の必要なSecureFilesが含まれている場合は、ENCRYPTION=ALLを指定してダンプ・ファイル・セット全体を暗号化する必要があります。ダンプ・ファイル・セット全体の暗号化は、データ・ポンプ・エクスポート操作中にSecureFilesの暗号化セキュリティを実現する唯一の方法です。SecureFilesの詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

暗号化に関するOracle Database Vaultの考慮点

エクスポート操作が起動されると、データ・ポンプによって、Oracle Database Vaultが有効であるかどうかが確認されます。それが有効であり、ダンプ・ファイルの暗号化がジョブに指定されていない場合、セキュアなデータがセキュアではない方法(クリア・テキスト)でダンプ・ファイル・セットに書き込まれていることを示す警告メッセージが返されます。

ORA-39327: Oracle Database Vault data is being stored unencrypted in dump file set

現在のエクスポート操作を停止し、出力ダンプ・ファイル・セットを暗号化するように指定して新しい操作を開始できます。

制限事項

  • ALLDATA_ONLYまたはMETADATA_ONLYの各オプションを指定するには、COMPATIBLE初期化パラメータを11.0.0以上に設定する必要があります。

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

  • 暗号化パスワードを使用せずにALL、DATA_ONLYまたはMETADATA_ONLYオプションを使用する場合、Oracle Advanced Securityオプションを有効にする必要があります。Oracle Advanced Securityオプションのライセンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。

次の例では、ダンプ・ファイルでデータのみが暗号化されるエクスポート操作を実行します。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_enc.dmp JOB_NAME=enc1
ENCRYPTION=data_only ENCRYPTION_PASSWORD=foobar

2.4.17 ENCRYPTION_ALGORITHM

Oracle Data Pump Exportのコマンドライン・ユーティリティのENCRYPTION_ALGORITHMパラメータでは、暗号化の実行に使用する必要のある暗号化アルゴリズムを指定します。

デフォルト

AES256

用途

暗号化の実行に使用する必要のある暗号化アルゴリズムを指定します。

構文および説明

ENCRYPTION_ALGORITHM = 256

制限事項

  • この暗号化機能を使用するには、COMPATIBLE初期化パラメータを11.0.0以上に設定する必要があります。

  • ENCRYPTION_ALGORITHMパラメータを使用する場合は、ENCRYPTIONまたはENCRYPTION_PASSWORDパラメータも指定する必要があります。指定しないと、エラーが返されます。

  • すでに暗号化されている列に追加の暗号化形式を割り当てることはできないため、ENCRYPTION_ALGORITHMパラメータをENCRYPTION=ENCRYPTED_COLUMNS_ONLYと組み合せて使用することはできません。

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

  • ENCRYPTION _ALGORITHMパラメータでは、Oracle Advanced Securityを有効にする必要はありませんが、そのオプションを必要とするその他の暗号化関連のパラメータとともに使用できます。Oracle Advanced Securityオプションのライセンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_enc3.dmp
ENCRYPTION_PASSWORD=foobar ENCRYPTION_ALGORITHM=AES256

2.4.18 ENCRYPTION_MODE

Oracle Data Pump Exportのコマンドライン・ユーティリティのENCRYPTION_MODEパラメータでは、暗号化および復号化を実行する際に使用するセキュリティ・タイプを指定します。

デフォルト

デフォルト・モードは、使用されるその他の暗号化関連パラメータによって異なります。ENCRYPTIONパラメータのみが指定され、Oracle暗号化ウォレットがオープン状態の場合、デフォルト・モードはTRANSPARENTになります。ENCRYPTIONパラメータのみが指定され、ウォレットが閉じられている場合は、エラーが返されます。

ENCRYPTION_PASSWORDパラメータが指定され、ウォレットがオープン状態の場合、デフォルト設定はDUALになります。ENCRYPTION_PASSWORDパラメータが指定され、ウォレットが閉じられている場合、デフォルト設定はPASSWORDになります。

用途

暗号化および復号化を実行する際に使用するセキュリティ・タイプを指定します。

構文および説明

ENCRYPTION_MODE = [DUAL | PASSWORD | TRANSPARENT]

DUALモードでは、後から透過的にインポートしたり、デュアルモードで暗号化されたダンプ・ファイル・セットの作成時に使用したパスワードを指定してインポートすることができるダンプ・ファイル・セットを作成します。DUALモードで作成されたダンプ・ファイル・セットを後からインポートするときは、ウォレットまたはENCRYPTION_PASSWORDパラメータで指定されたパスワードのいずれかを使用できます。DUALモードは、ウォレットを使用する場合にはダンプ・ファイル・セットのインポートをオンサイトで行い、ウォレットが使用できない場合にはオフサイトでインポートを行う必要もある場合に最適です。

PASSWORDモードでは、暗号化されたダンプ・ファイル・セットの作成時にパスワードを指定する必要があります。ダンプ・ファイル・セットをインポートするときは同じパスワードを指定する必要があります。PASSWORDモードでは、ENCRYPTION_PASSWORDパラメータを指定する必要もあります。PASSWORDモードは、ダンプ・ファイル・セットが別のデータベースやリモート・データベースにインポートされるときに、転送中もセキュリティで保護する必要がある場合に最適です。

TRANSPARENTモードでは、必要なウォレットを使用できる場合、暗号化されるダンプ・ファイル・セットをデータベース管理者(DBA)の介入なしで作成できます。したがって、ENCRYPTION_PASSWORDパラメータは必要ありません。実際、このパラメータをTRANSPARENTモードで使用すると、エラーが発生します。この暗号化モードは、ダンプ・ファイル・セットをエクスポート元と同じデータベースにインポートする場合に最適です。

制限事項

  • DUALまたはTRANSPARENTモードを使用するには、COMPATIBLE初期化パラメータを11.0.0以上に設定する必要があります。

  • ENCRYPTION_MODEパラメータを使用する場合は、ENCRYPTIONまたはENCRYPTION_PASSWORDパラメータのいずれかを使用する必要もあります。そうでない場合は、エラーが戻されます。

  • ENCRYPTION=ENCRYPTED_COLUMNS_ONLYを使用する場合は、ENCRYPTION_MODEパラメータを使用できません。そうでない場合は、エラーが戻されます。

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

  • DUALモードまたはTRANSPARENTモードを使用するには、Oracle Advanced Securityオプションが有効である必要があります。Oracle Advanced Securityオプションのライセンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_enc4.dmp
ENCRYPTION=all ENCRYPTION_PASSWORD=secretwords
ENCRYPTION_ALGORITHM=AES256 ENCRYPTION_MODE=DUAL

2.4.19 ENCRYPTION_PASSWORD

Oracle Data Pump Exportのコマンドライン・ユーティリティのENCRYPTION_PASSWORDパラメータにより、暗号化されたダンプ・ファイル・セットへの不正なアクセスを防ぎます。

デフォルト

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

用途

エクスポート・ダンプ・ファイル内の暗号化列のデータ、メタデータまたは表データを暗号化するためのパスワードを指定します。このパラメータを使用すると、暗号化されたダンプ・ファイル・セットへの不正なアクセスを防ぐことができます。

ノート:

Oracle Data Pumpの暗号化機能は、Oracle Database 11gリリース1 (11.1)で変更されています。リリース11.1より前は、ENCRYPTION_PASSWORDパラメータが適用されるのは暗号化列のみでした。しかし、リリース11.1では、新しいENCRYPTIONパラメータが他のタイプのデータを暗号化するためのオプションを提供するようになりました。この変更により、ENCRYPTIONと固有のオプションを指定せずにENCRYPTION_PASSWORDを指定すると、ダンプ・ファイルに書き込まれるすべてのデータが暗号化されるようになりました(ENCRYPTION=ALLを指定した場合と同じ)。暗号化列のみを再暗号化するには、ENCRYPTION_PASSWORDに加えてENCRYPTION=ENCRYPTED_COLUMNS_ONLYを指定する必要があります。

構文および説明

ENCRYPTION_PASSWORD = password

指定するpassword値は、暗号化された表の列、メタデータまたは表データをダンプ・ファイル・セットにクリア・テキストとして書き込まないように、再度暗号化するキーを指定します。エクスポート操作に暗号化された表の列が含まれていて、暗号化パスワードが指定されていない場合、暗号化された列はダンプ・ファイル・セットにクリア・テキストで書き込まれ、警告が発行されます。

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

暗号化パスワードに許容される最大長は、通常は128バイトです。ただし、ENCRYPTION=ENCRYPTED_COLUMNS_ONLYであり、VERSIONパラメータまたはデータベース互換性のいずれかが12.2未満に設定されている場合、制限は30バイトになります。

エクスポート操作については、ENCRYPTION_MODEパラメータがPASSWORDまたはDUALに設定されている場合に、このパラメータが必要になります。

ノート:

Oracle Data PumpのENCRYPTION_PASSWORDパラメータで指定されたキーと、暗号化された列を含む表が最初に作成されたときにENCRYPTキーワードで指定されたキーとの間には、関連性も依存性もありません。たとえば、次のように、キーがxyzの暗号化列を持つ表を作成するとします。

CREATE TABLE emp (col1 VARCHAR2(256) ENCRYPT IDENTIFIED BY "xyz");

emp表をエクスポートするときは、ENCRYPTION_PASSWORDに任意の値を指定できます。xyzである必要はありません。

制限事項

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

  • 全体トランスポータブル・エクスポートで、暗号化された表領域および暗号化された列が存在する表を含む表領域を転送する場合、ENCRYPTION_PASSWORDパラメータが必要です。

  • ENCRYPTION_PASSWORDを指定して、ENCRYPTION_MODEを指定しない場合は、ENCRYPTION_MODEのデフォルトがPASSWORDになるため、Oracle Advanced Securityのデータの透過的データ暗号化を有効にする必要はありません。

  • 要求された暗号化モードがTRANSPARENTの場合、ENCRYPTION_PASSWORDパラメータは無効です。

  • ENCRYPTION_MODEDUALに設定されている場合、ENCRYPTION_PASSWORDパラメータを使用するには、Oracle Advanced Securityの透過的データ暗号化(TDE)を有効にする必要があります。TDEの詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

  • ネットワーク・エクスポートの場合、ENCRYPTION_PASSWORDパラメータとENCRYPTION=ENCRYPTED_COLUMNS_ONLYの併用は、暗号化された列を含むユーザー定義の外部表ではサポートされていません。表はスキップされ、エラー・メッセージが表示されますが、ジョブは続行します。

次の例では、暗号化パスワード123456がダンプ・ファイルdpcd2be1.dmpに割り当てられています。

> expdp hr TABLES=employee_s_encrypt DIRECTORY=dpump_dir1
DUMPFILE=dpcd2be1.dmp ENCRYPTION=ENCRYPTED_COLUMNS_ONLY 
ENCRYPTION_PASSWORD=123456

employee_s_encrypt表の暗号化列は、dpcd2be1.dmpダンプ・ファイルにクリア・テキストとして書き込まれません。その後、この例で作成したdpcd2be1.dmpファイルをインポートする場合は、同じ暗号化パスワードを指定する必要があります。

2.4.20 ENCRYPTION_PWD_PROMPT

Oracle Data Pump Exportのコマンドライン・ユーティリティのENCRYPTION_PWD_PROMPTでは、Oracle Data Pumpによって暗号化パスワードの入力を要求するかどうかを指定します。

デフォルト

NO

用途

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

構文および説明

ENCRYPTION_PWD_PROMPT=[YES | NO]

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

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

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

制限事項

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

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

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

Password: 
 
Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.1.0.0.0
 
Encryption Password: 

Starting "HR"."SYS_EXPORT_SCHEMA_01":  hr/******** directory=dpump_dir1 dumpfile=hr.dmp encryption_pwd_prompt=Y
.
.
.

2.4.21 ESTIMATE

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのESTIMATEパラメータでは、エクスポート・ジョブ内の各表で使用されるディスク領域(バイト単位)を見積もる場合にエクスポートで使用される方法を指定します。

デフォルト

STATISTICS

用途

エクスポート・ジョブ内の各表で使用されるディスク領域(バイト単位)を見積もる場合にエクスポートで使用される方法を指定します。見積りはログ・ファイルに出力され、クライアントの標準出力デバイスに表示されます。見積りの対象は、表の行データのみです。メタデータは含まれません。

構文および説明

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

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

制限事項

  • 圧縮された表がデータ・ポンプのエクスポート・ジョブに含まれている場合、ESTIMATE=BLOCKSを使用すると、その圧縮表に対するデフォルト・サイズの見積りは不正確になります。この不正確性は、データが圧縮形式で格納されていることが、サイズの見積もりに反映されていないために発生します。圧縮された表に対するサイズ見積りをより正確に行うには、ESTIMATE=STATISTICSを使用してください。

  • QUERYまたはREMAP_DATAのいずれかのパラメータが使用されている場合も、見積りが不正確になる可能性があります。

次の例に、ESTIMATEパラメータの使用例を示します。ここでは、employees表に対する統計を使用して見積りが計算されます。

> expdp hr TABLES=employees ESTIMATE=STATISTICS DIRECTORY=dpump_dir1
 DUMPFILE=estimate_stat.dmp

2.4.22 ESTIMATE_ONLY

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのESTIMATE_ONLYパラメータでは、エクスポートによって、実際のエクスポート操作を実行することなく、ジョブが消費する領域が見積もられるように指定します。

デフォルト

NO

用途

エクスポートによって、実際のエクスポート操作を実行することなく、ジョブが消費する領域が見積もられるように指定します。

構文および説明

ESTIMATE_ONLY=[YES | NO]

ESTIMATE_ONLY=YESの場合、エクスポート・ユーティリティは、使用される領域の見積りを行いますが、実際にエクスポート操作は実行せずに終了します。

制限事項

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

次に、ESTIMATE_ONLYパラメータを使用して、HRスキーマのエクスポートに必要な領域の大きさを指定する例を示します。

> expdp hr ESTIMATE_ONLY=YES NOLOGFILE=YES SCHEMAS=HR

2.4.23 EXCLUDE

Oracle Data Pump Exportのコマンドライン・ユーティリティの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には適用されますが、GRANTには適用されません)。それは、コロンでオブジェクト型と区切り、二重引用符(一重引用符は名前文字列を区切るために必要なため)で囲む必要があります。たとえば、EXCLUDE=INDEX:"LIKE 'EMP%'"と設定した場合、EMPで始まる名前を持つすべての索引を除外できます。

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

name_clauseを指定しない場合、指定した型のすべてのオブジェクトが除外されます。

複数のEXCLUDE文を指定できます。

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

object_typeCONSTRAINTGRANTまたはUSERを指定する場合、次に説明する影響があることに注意してください。

制約の除外

次の制約は明示的に除外できません。

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

たとえば、次のEXCLUDE文は、次のように解釈されます。

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

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

権限とユーザーの除外

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

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

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

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

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

EXCLUDE=USER:"='HR'"のような文を使用してユーザーを除外しようとすると、CREATE USER hr DDL文内で使用される情報のみが除外され、予期しない結果になる場合があります。

Oracle Database 21c以降、Oracle Data Pumpでは、同じコマンド内でINCLUDEEXCLUDEの両方のパラメータを設定できます。コマンドに両方のパラメータを含めると、Oracle Data Pumpにより、INCLUDEパラメータが最初に処理され、そのパラメータで識別されるすべてのオブジェクトが含まれます。次に、除外パラメータが処理され、追加されたセットから、除外されたオブジェクトが消去されます。

制限事項

  • Oracle Database 23c以降では、オブジェクトSQL_FIREWALLによるSQLファイアウォール・メタデータ(取得内容および許可リスト)のエクスポートがサポートされています。ただし、Oracle Data Pumpでは、既存のすべてのSQLファイアウォールの全体的なエクスポートまたはインポートがサポートされています。特定の取得内容または特定の許可リストのインポートやエクスポートはできません。

次に、EXCLUDE文の使用例を示します。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_exclude.dmp EXCLUDE=VIEW,
PACKAGE, FUNCTION

これにより、この例では、hrスキーマ全体がエクスポートされるスキーマ・モード・エクスポート(デフォルトのエクスポート・モード)が実行されます。ただし、このスキーマのビュー、パッケージおよびファンクションは除外されます。

2.4.24 FILESIZE

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのFILESIZEパラメータでは、各ダンプ・ファイルの最大サイズを指定します。

デフォルト

0 (最大サイズの16TBと同じ)

用途

各ダンプ・ファイルの最大サイズを指定します。ダンプ・ファイル・セット内にあるダンプ・ファイルが最大サイズになると、そのファイルは閉じられ、ファイル指定に置換変数が含まれている場合または追加ダンプ・ファイルがジョブに追加されている場合は、新しいファイルが作成されます。

構文および説明

FILESIZE=integer[B | KB | MB | GB | TB]

integerの後に(スペースを挿入しない)、BKBMBGBまたはTB(それぞれバイト、キロバイト、メガバイト、ギガバイト、テラバイトを示す)を指定できます。デフォルトは、B(バイト)です。作成されるファイルの実際のサイズは、ダンプ・ファイル内で使用されている内部ブロックのサイズと一致するように切り捨てられる場合があります。

制限事項

  • ファイルの最小サイズは、デフォルトのデータ・ポンプ・ブロック・サイズの10倍、つまり4KBです。

  • ファイルの最大サイズは16TBです。

次の例は、ダンプ・ファイルのサイズを3MBに設定する方法を示しています。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_3m.dmp FILESIZE=3MB

このシナリオでは、割り当てられた3MBではすべてのエクスポート・データを保持するのに十分でなかった場合、次のエラーが発生して表示されジョブが停止します。

ORA-39095: Dump file space has been exhausted: Unable to allocate 217088 bytes

割り当てることができなかった実際のバイト数は、場合によって異なります。また、この数字は、エクスポート操作全体を完了するために必要な容量を表しているわけではありません。これは、ジョブがダンプ・ファイルの領域を使い果たした時点でエクスポートされていたオブジェクトのサイズのみを示します。この問題を修正するには、最初に停止したジョブに接続し、ADD_FILEコマンドを使用して1つ以上のファイルを追加した後、操作を再開します。

2.4.25 FLASHBACK_SCN

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのFLASHBACK_SCNパラメータでは、エクスポートで使用されるシステム変更番号(SCN)を指定して、フラッシュバック問合せユーティリティを使用可能にします。

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

用途

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

構文および説明

FLASHBACK_SCN=scn_value

エクスポート操作は、指定したSCNまでの一貫性のあるデータを使用して実行されます。NETWORK_LINKパラメータが指定されている場合、SCNはソース・データベースのSCNを示します。

Oracle Database 12cリリース2 (12.2)からは、SCN値をビッグSCN (8バイト)にすることができます。また、ビッグSCNをサポートしていない以前のバージョンでダンプ・ファイルを作成するときも、実際のSCN値は移動されないため、ビッグSCNを指定できます。

制限事項

  • FLASHBACK_SCNおよびFLASHBACK_TIMEは、相互に排他的なパラメータです。
  • FLASHBACK_SCNパラメータは、Oracle Databaseのフラッシュバック問合せ機能にのみ関係します。フラッシュバック・データベース、フラッシュバック削除およびフラッシュバック・データ・アーカイブには適用できません。
  • ビッグSCNをサポートしていないバージョンからのネットワーク・エクスポートまたはネットワーク・インポートに対して、ビッグSCNを指定することはできません。

次の例では、384632 というSCN値が存在するとします。この例では、hrスキーマをSCN 384632までエクスポートします。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_scn.dmp FLASHBACK_SCN=384632

ノート:

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

2.4.26 FLASHBACK_TIME

Oracle Data Pump Exportのコマンドライン・ユーティリティのFLASHBACK_TIMEパラメータにより、指定した時間に最も近いSCNを検索します。

デフォルト

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

用途

指定した時間に最も近いSCNを検索します。このSCNを使用して、フラッシュバック・ユーティリティを使用可能にします。エクスポート操作は、このSCNまでの一貫性のあるデータを使用して実行されます。

構文および説明

FLASHBACK_TIME="TO_TIMESTAMP(time-value)"

TO_TIMESTAMPの値は引用符で囲まれるため、パラメータ・ファイルに記述することをお薦めします。

または、次のパラメータ設定を入力することもできます。この設定により、現在のシステム時間に基づいた一貫性エクスポートが開始されます。

FLASHBACK_TIME=systimestamp

制限事項

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

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

DIRECTORY=dpump_dir1
DUMPFILE=hr_time.dmp
FLASHBACK_TIME="TO_TIMESTAMP('27-10-2012 13:16:00', 'DD-MM-YYYY HH24:MI:SS')"

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

> expdp hr PARFILE=flashback.par

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

ノート:

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

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

2.4.27 FULL

Oracle Data Pump Exportのコマンドライン・ユーティリティのFULLパラメータにより、全データベース・モードでのエクスポートの実行を指定します。

デフォルト

NO

用途

全体データベース・モード・エクスポートの実行を指定します。

構文および説明

FULL=[YES | NO]

FULL=YESと指定すると、すべてのデータおよびメタデータがエクスポートされます。全体エクスポートを実行するには、DATAPUMP_EXP_FULL_DATABASEロールが必要です。

このエクスポート・モードを使用したエクスポート対象を、フィルタ処理によって制限できます。

トランスポータブル・オプション(TRANSPORTABLE=ALWAYS)を使用して全体モード・エクスポートを実行できます。これは、全体トランスポータブル・エクスポートと呼ばれ、データベースの完全なコピーを作成するために必要なすべてのオブジェクトおよびデータがエクスポートされます。関連する情報を参照してください。

ノート:

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

制限事項

  • FULLパラメータをTRANSPORTABLE (全体トランスポータブル・エクスポート)と組み合せて使用するには、データ・ポンプのVERSIONパラメータを12.0以上に設定するか、COMPATIBLEデータベース初期化パラメータを12.0以上に設定する必要があります。
  • 全体エクスポートでは、Oracleが管理するデータおよびメタデータを含むシステム・スキーマがデフォルトでエクスポートされません。デフォルトでエクスポートされないシステム・スキーマの例としては、SYSORDSYSMDSYSなどがあります。
  • SYSスキーマが所有しているオブジェクトに対する権限はエクスポートされません。
  • 全体エクスポート操作では、1つのデータベース・エディションのみからオブジェクトがエクスポートされ、デフォルトでは現在のエディションがエクスポートされますが、エクスポートのSOURCE_EDITIONパラメータを使用して別のエディションを指定することもできます。
  • レルムにより保護されているデータをエクスポートする場合は、そのレルムに対する権限が必要です。
  • 自動ワークロード・リポジトリ(AWR)は、全データベースのエクスポートおよびインポート操作では移動されません。(Oracle Data Pumpを使用してAWRスナップショットを移動する方法の詳細は、Oracle Databaseパフォーマンス・チューニング・ガイドを参照。)
  • XDBリポジトリは、全データベースのエクスポートおよびインポート操作では移動されません。ユーザーが作成したXMLスキーマは移動されます。

次に、FULLパラメータの使用例を示します。ダンプ・ファイルexpfull.dmpは、dpump_dir2ディレクトリに書き込まれます。

> expdp hr DIRECTORY=dpump_dir2 DUMPFILE=expfull.dmp FULL=YES NOLOGFILE=YES

全体トランスポータブル・エクスポートの実行方法の詳細な例は、Oracle Database管理者ガイドを参照してください。レルムの構成方法の詳細は、Oracle Database Vault管理者ガイドを参照してください。

2.4.28 HELP

Oracle Data Pump Exportのコマンドライン・ユーティリティのHELPパラメータにより、エクスポート・ユーティリティのオンライン・ヘルプを表示します。

デフォルト

NO

用途

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

構文および説明

HELP = [YES | NO]

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

> expdp HELP = YES

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

2.4.29 INCLUDE

Oracle Data Pump Exportのコマンドライン・ユーティリティのINCLUDEパラメータを使用すると、現行のエクスポート・モードにオブジェクトおよびオブジェクト型を指定して、エクスポート対象のメタデータをフィルタ処理できます。

デフォルト

デフォルトはありません

用途

現行のエクスポート・モードにオブジェクトとオブジェクト型を指定して、エクスポート対象のメタデータをフィルタ処理できます。指定したオブジェクトおよびこれらのオブジェクトのすべての依存オブジェクトがエクスポートされます。これらのオブジェクトに対する権限もエクスポートされます。

構文および説明

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

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

INCLUDE文で明示的に指定されたオブジェクト型とその依存オブジェクトのみがエクスポートされます。他のオブジェクト型(通常、DATAPUMP_EXP_FULL_DATABASEロールを所有している場合にスキーマ・モード・エクスポートの一部となるスキーマ定義情報など)はエクスポートされません。

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

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

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

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

SCHEMAS=HR
DUMPFILE=expinclude.dmp
DIRECTORY=dpump_dir1
LOGFILE=expinclude.log
INCLUDE=TABLE:"IN ('EMPLOYEES', 'DEPARTMENTS')"
INCLUDE=PROCEDURE
INCLUDE=INDEX:"LIKE 'EMP%'"

この場合、コマンドラインで他のパラメータを入力しなくても、hr.parファイルを使用してエクスポート操作を開始できます。EMPLOYEESDEPARTMENTS表、すべてのプロシージャおよびEMP接頭辞を持つすべての索引名が、エクスポートに含まれます。

> expdp hr PARFILE=hr.par

制約の追加

指定したobject_typeCONSTRAINTの場合は、制約の使用による影響に注意してください。

次の制約を明示的に含めることはできません。

  • NOT NULL制約

  • 表を正常に作成およびロードするために必要な制約。たとえば、索引構成表に対して主キー制約を含めたり、REF列を含む表に対してREF SCOPEおよびWITH ROWID制約を含めることはできません。

たとえば、次のINCLUDE文は、次のように解釈されます。

  • INCLUDE=CONSTRAINTでは、NOT NULL制約および表の正常な作成およびロードに必要な制約を除き、すべての制約(非参照)が含まれます。

  • INCLUDE=REF_CONSTRAINTには、参照整合性(外部キー)制約が含まれます。

同じコマンド内でINCLUDEEXCLUDEの両方のパラメータを設定できます。

コマンドに両方のパラメータを含めると、Oracle Data Pumpにより、INCLUDEパラメータが最初に処理され、そのパラメータで識別されるすべてのオブジェクトが含まれます。その後で、除外パラメータが処理されます。EXCLUDEパラメータで指定されたオブジェクトは、含めるオブジェクトのリストからコマンドの実行時に削除されます。

制限事項

  • SYSスキーマが所有しているオブジェクトに対する権限はエクスポートされません。
  • Oracle Database 23c以降では、オブジェクトSQL_FIREWALLによるSQLファイアウォール・メタデータ(取得内容および許可リスト)のエクスポートがサポートされています。ただし、Oracle Data Pumpでは、既存のすべてのSQLファイアウォールの全体的なエクスポートまたはインポートがサポートされています。特定の取得内容または特定の許可リストのインポートやエクスポートはできません。

次の例では、hrスキーマのすべての表(およびその依存オブジェクト)をエクスポートします。

> expdp hr INCLUDE=TABLE DUMPFILE=dpump_dir1:exp_inc.dmp NOLOGFILE=YES

2.4.30 JOB_NAME

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのJOB_NAMEパラメータでは、ATTACHを使用してジョブに接続したり、DBA_DATAPUMP_JOBSまたはUSER_DATAPUMP_JOBSビューを使用してジョブを指定する場合など、後続処理でエクスポート・ジョブを指定します。

デフォルト

SYS_EXPORT_<mode>_NNという書式のシステム生成による名前

用途

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

構文および説明

JOB_NAME=jobname_string

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

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

次に、ジョブ名exp_jobを割り当てるエクスポート操作の例を示します。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=exp_job.dmp JOB_NAME=exp_job
NOLOGFILE=YES

2.4.31 KEEP_MASTER

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのKEEP_MASTERパラメータは、正常に完了したOracle Data Pumpジョブの最後に、データ・ポンプ制御ジョブ表を削除するか、保持するかを指定します。

デフォルト

NO

用途

正常に完了したOracle Data Pumpジョブの最後に、データ・ポンプ制御ジョブ表を削除するか保持するかを示します。データ・ポンプ制御ジョブ表は、正常に完了しなかったジョブに対して自動的に保持されます。

構文および説明

KEEP_MASTER=[YES | NO]

制限事項

  • なし

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr KEEP_MASTER=YES

2.4.32 LOGFILE

Oracle Data Pump Exportのコマンドライン・ユーティリティのLOGFILEパラメータにより、エクスポート・ジョブのログ・ファイルの名前を指定し、オプションで、そのログ・ファイルのディレクトリを指定します。

デフォルト

export log

用途

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

構文および説明

LOGFILE=[directory_object:]file_name

directory_objectには、DBAによって作成済であるデータベースのディレクトリ・オブジェクトを指定できます(そのオブジェクトへのアクセス権がある場合)。この設定は、DIRECTORYパラメータに指定されたディレクトリ・オブジェクトよりも優先されます。

file_nameには、ログ・ファイル名を指定します。デフォルトでは、DIRECTORYパラメータで指定されたディレクトリ・オブジェクトが示すディレクトリに、export.logというファイルが作成されます。

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

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

このファイル名と一致する既存のファイルは上書きされます。

制限事項

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

次の例に、デフォルトの名前を使用しない場合に、ログ・ファイル名を指定する方法を示します。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp LOGFILE=hr_export.log

ノート:

Oracle Data Pump Exportでは、ログ・ファイルの書き込みでデータベース文字セットが使用されます。クライアントのNLS_LANG環境設定がデータベースの文字セットと異なる文字セットの場合は、ログ・ファイル内の表の名前が、クライアントの出力画面に表示される名前と異なることがあります。

2.4.33 LOGTIME

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのLOGTIMEパラメータでは、エクスポート操作中に表示されるメッセージにタイムスタンプを付けることを指定します。

デフォルト

タイムスタンプは記録されません

用途

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

構文および説明

LOGTIME=[NONE | STATUS | LOGFILE | ALL]

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

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

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

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

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

制限事項

なし

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

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr LOGTIME=ALL

出力は、次のようになります。

10-JUL-12 10:12:22.300: Starting "HR"."SYS_EXPORT_SCHEMA_01":  hr/********
directory=dpump_dir1 dumpfile=expdat.dmp schemas=hr logtime=all 
10-JUL-12 10:12:22.915: Estimate in progress using BLOCKS method...
10-JUL-12 10:12:24.422: Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
10-JUL-12 10:12:24.498: Total estimation using BLOCKS method: 128 KB
10-JUL-12 10:12:24.822: Processing object type SCHEMA_EXPORT/USER
10-JUL-12 10:12:24.902: Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
10-JUL-12 10:12:24.926: Processing object type SCHEMA_EXPORT/ROLE_GRANT
10-JUL-12 10:12:24.948: Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
10-JUL-12 10:12:24.967: Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
10-JUL-12 10:12:25.747: Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
10-JUL-12 10:12:32.762: Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
10-JUL-12 10:12:46.631: Processing object type SCHEMA_EXPORT/TABLE/TABLE
10-JUL-12 10:12:58.007: Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
10-JUL-12 10:12:58.106: Processing object type SCHEMA_EXPORT/TABLE/COMMENT
10-JUL-12 10:12:58.516: Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
10-JUL-12 10:12:58.630: Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
10-JUL-12 10:12:59.365: Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
10-JUL-12 10:13:01.066: Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
10-JUL-12 10:13:01.143: Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
10-JUL-12 10:13:02.503: Processing object type SCHEMA_EXPORT/VIEW/VIEW
10-JUL-12 10:13:03.288: Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
10-JUL-12 10:13:04.067: Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
10-JUL-12 10:13:05.251: Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
10-JUL-12 10:13:06.172: . . exported "HR"."EMPLOYEES"                            17.05 KB     107 rows
10-JUL-12 10:13:06.658: . . exported "HR"."COUNTRIES"                            6.429 KB      25 rows
10-JUL-12 10:13:06.691: . . exported "HR"."DEPARTMENTS"                          7.093 KB      27 rows
10-JUL-12 10:13:06.723: . . exported "HR"."JOBS"                                 7.078 KB      19 rows
10-JUL-12 10:13:06.758: . . exported "HR"."JOB_HISTORY"                          7.164 KB      10 rows
10-JUL-12 10:13:06.794: . . exported "HR"."LOCATIONS"                            8.398 KB      23 rows
10-JUL-12 10:13:06.824: . . exported "HR"."REGIONS"                              5.515 KB       4 rows
10-JUL-12 10:13:07.500: Master table "HR"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
10-JUL-12 10:13:07.503: ******************************************************************************

2.4.34 METRICS

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのMETRICSパラメータでは、ジョブに関する詳細情報をデータ・ポンプ・ログ・ファイルに記録するかどうかを指定します。

デフォルト: NO

用途

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

構文および説明

METRICS=[YES | NO]

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

制限事項

  • なし

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr METRICS=YES

2.4.35 NETWORK_LINK

Oracle Data Pump Exportのコマンドライン・ユーティリティのNETWORK_LINKパラメータを使用すると、有効なデータベース・リンクで識別された(ソース)データベースからエクスポートできます。

デフォルト

デフォルトはありません

用途

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

構文および説明

NETWORK_LINK=source_database_link

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

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

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

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

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

注意:

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

制限事項

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

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

    • 現在のユーザー

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

  • 全体トランスポータブル・エクスポートを使用してネットワークを介してデータベースを転送する場合、監査証跡情報自体がユーザー定義の表領域に格納されていると、管理表領域(SYSTEMSYSAUXなど)に格納された表に対して監査を有効にすることはできません。

  • NETWORK_LINKパラメータも使用されていると、メタデータはパラレルでインポートできなくなります

次に、NETWORK_LINKパラメータを使用した構文例を示します。変数source_database_linkを、すでに存在する必要がある有効なデータベース・リンクの名前に置き換えます。

> expdp hr DIRECTORY=dpump_dir1 NETWORK_LINK=source_database_link
  DUMPFILE=network_export.dmp LOGFILE=network_export.log

2.4.36 NOLOGFILE

Oracle Data Pump Exportのコマンドライン・ユーティリティのNOLOGFILEパラメータにより、ログ・ファイルを作成するかどうかを指定します。

デフォルト

NO

用途

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

構文および説明

NOLOGFILE=[YES | NO]

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

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

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp NOLOGFILE=YES

このコマンドによって、ログ・ファイルの書込みを行わないスキーマ・モード・エクスポート(デフォルト),が実行されます。

2.4.37 PARALLEL

Oracle Data Pumpのエクスポート・コマンドライン・ユーティリティのPARALLELパラメータでは、エクスポート・ジョブのために動作するアクティブな実行プロセスの最大数を指定します。

デフォルト

1

用途

エクスポート・ジョブのために動作するアクティブな実行プロセスの最大数を指定します。この実行セットは、ワーカー・プロセスとパラレル入出力(I/O)サーバー・プロセスの組合せで構成されます。パラレル問合せ操作で問合せコーディネータとして機能するデータ・ポンプ制御プロセスおよびワーカー・プロセスは、この合計にカウントされません。

このパラメータを使用して、リソース消費と経過時間のバランスをとることができます。

構文および説明

PARALLEL=integer

integerに指定する値は、ダンプ・ファイル・セット内のファイル数以下にする必要があります(または、ダンプ・ファイル指定に%Uまたは%L置換変数を指定する必要があります)。アクティブなワーカー・プロセッサI/Oサーバー・プロセスは、1つのファイルに対してそれぞれが同時に排他的に書込みを行うため、ファイル数が不足していると、逆効果になります。たとえば、ファイルの待機中に、一部のワーカー・プロセスがアイドル状態になる可能性があるため、そのジョブの全体的なパフォーマンスが低下します。また、パラレルI/Oサーバー・プロセスを共有で実行しているメンバーが出力用ファイルを取得できない場合は、ORA-39095エラーを返してエクスポート操作が停止します。いずれの場合も、データ・ポンプ・エクスポート・ユーティリティを使用してジョブに接続することによって、問題を解決できます。接続後、対話方式モードで、ADD_FILEコマンドを使用してファイルを追加し、ジョブが停止した場合は、ジョブを再開します。

ジョブの実行中にPARALLELの値を増減するには、対話方式コマンド・モードを使用します。並列度を下げても、ジョブに関連付けられたワーカー・プロセスは減少しません。任意の時点で実行されるワーカー・プロセスの数が減少します。また、プロセス数が減少する前に、継続中の処理が適正な完了ポイントに到達する必要があります。そのため、値を小さくした効果の確認に時間がかかる場合があります。アイドル状態のワーカー・プロセスは、ジョブが終了するまで削除されません。

パラレル実行できる処理が存在する場合、並列度の増加はすぐに反映されます。

Oracle RAC環境でのエクスポートにおけるPARALLELの使用

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

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

制限事項

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

  • パラレルで(パラレル問合せまたはPQワーカー・プロセスを使用して)表または表パーティションをエクスポートするには、DATAPUMP_EXP_FULL_DATABASEロールが必要です。

  • トランスポータブル表領域のメタデータは、パラレルでエクスポートできません。

  • NETWORK_LINKパラメータも使用されていると、メタデータはパラレルでエクスポートできなくなります。
  • 次のオブジェクトはパラレルでエクスポートできません。
    • TRIGGER
    • VIEW
    • OBJECT_GRANT
    • SEQUENCE
    • CONSTRAINT
    • REF_CONSTRAINT

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

> expdp hr DIRECTORY=dpump_dir1 LOGFILE=parallel_export.log 
JOB_NAME=par4_job DUMPFILE=par_exp%u.dmp PARALLEL=4
 

この例では、hrスキーマのスキーマ・モード・エクスポート(デフォルトのモード)が実行され、ディレクトリ・オブジェクトdpump_dir1に指定されたパスに、最大で4つのファイルが作成されます。

2.4.38 PARALLEL_THRESHOLD

Oracle Data Pumpのエクスポート・コマンドライン・ユーティリティのPARALLEL_THRESHOLDパラメータでは、表サイズに基づいてデータ・ポンプが潜在的なパラレルDMLを計算するために使用する除数のサイズを指定します。

デフォルト

250MB

用途

PARALLEL_THRESHOLDは、単一の非パーティション表のエクスポート・ジョブまたはインポート・ジョブ、あるいはパーティション表の1つのパーティションでのみ使用する必要があります。ジョブでPARALLELを指定する場合、PARALLEL_THRESHOLDを指定して、インポートおよびエクスポート時にパラレル・データ操作文(PDML)を使用して表をエクスポートまたはインポートする必要があるかどうかをOracle Data Pumpが判断するために使用する除数のサイズを変更できます。デフォルトより小さい値を指定すると、より小さい表サイズでOracle Data Pumpのパラレル・アルゴリズムを使用できます。たとえば、100MBの表があり、PDML 5を使用して5単位に分割する場合は、PARALLEL_THRESHOLD=20Mを指定します。オプティマイザによってSQLに対して生成されるデータベース、オプティマイザおよび実行計画は、ジョブで指定されたオブジェクトのロードまたはアンロードに使用される実際の並列度を決定することに注意してください。

構文および説明

パラメータ値は、しきい値サイズをバイト単位で指定します。

PARALLEL_THRESHOLD=size-in-bytes

単一の表のエクスポートまたはインポートで、より高い並列度が必要な場合は、小さい表または表パーティションの並列度を利用するために、PARALLEL_THRESHOLDを小さい値に設定できます。ただし、このリソース割当ての利点は、ロードまたはアンロード先となるファイル・システムのI/Oのパフォーマンスによって制限される可能性があります。また、表とメタデータ・オブジェクトの両方について、ジョブに複数のオブジェクトが含まれている場合、PARALLELおよびPARALLEL_THRESHOLDで指定されたPQ割当て要求の値は制限されます。表に割り当てられるPQプロセスの実際の量は、Oracle Data Pumpが同時に実行している操作の数の影響を受けており、並列度が共有される必要があります。オプティマイザによってSQLに対して生成されるデータベース、オプティマイザおよび実行計画は、ジョブで指定されたオブジェクトのロードまたはアンロードに使用される実際の並列度を決定します。

このパラメータを使用して、特定のデータ移動の問題を支援できます。例:

  • Oracle Data Pumpを使用して、あるデータベースの大きな表を別のデータベースのより大きな表にロードする場合。考えられるユースケースの1つ: OLTPデータベースからレポートまたはビジネス分析のデータ・ウェアハウス・データベースに週次売上データをアップロードします。
  • 単一の大きな表をエクスポートするが、最近RDBMS統計を収集していない場合。デフォルト・サイズは表の統計から決定されます。ただし、統計が古い(または一度も実行されていない)と仮定します。その場合、Oracle Data Pumpが使用する値は、表の実際のサイズより小さい可能性があります。このようなケースを補正するには、parallel_threshold値を小さく指定して、並列度(しきい値量で割った表サイズ)のアルゴリズムによって、より適切な並列度の値が得られるようにします。

制限事項

PARALLEL_THRESHOLDは、PARALLELパラメータに1より大きい値が指定されている場合にのみ、組み合せて使用されます。

次に、PARALLEL_THRESHOLDパラメータを使用して表table_to_use_PDMLをエクスポートする例を示します。ここでは、PQプロセスの除数のサイズは1 KBに設定され、変数userおよびuser-passwordはエクスポートを実行しているユーザーのユーザーおよびパスワード(expdp)であり、ジョブ名はparathresh_exampleです。

expdp user/user-password \
    directory=dpump_dir \
    dumpfile=parathresh_example.dmp
    tables=table_to_use_PDML \
    parallel=8 \
    parallel_threshold=1K \
    job_name=parathresh_example
 

2.4.39 PARFILE

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのPARFILEパラメータは、エクスポート・パラメータ・ファイルの名前を指定します。

デフォルト

デフォルトはありません

用途

parfileとも呼ばれるエクスポート・パラメータ・ファイルの名前を指定します。

構文および説明

PARFILE=[directory_path]file_name

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

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

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

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

制限事項

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

サンプルのパラメータ・ファイルhr.parの内容が次のとおりであるとします。

SCHEMAS=HR
DUMPFILE=exp.dmp
DIRECTORY=dpump_dir1
LOGFILE=exp.log

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

> expdp hr PARFILE=hr.par

2.4.40 QUERY

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのQUERYパラメータを使用すると、エクスポート対象となるデータをフィルタ処理するために使用する問合せ句を指定できます。

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

用途

エクスポート対象となるデータをフィルタ処理するために使用する問合せ句を指定できます。

構文および説明

QUERY = [schema.][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パラメータは次のパラメータとは併用できません。

    • CONTENT=METADATA_ONLY

    • ESTIMATE_ONLY

    • TRANSPORT_TABLESPACES

  • 表にQUERYパラメータが指定されている場合、データ・ポンプは外部表を使用してターゲット表をアンロードします。外部表は、SQL CREATE TABLE AS SELECT文を使用します。QUERYパラメータの値は、CREATE TABLE文の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パラメータの使用例を示します。

> expdp hr PARFILE=emp_query.par

emp_query.parファイルの内容は次のとおりです。

QUERY=employees:"WHERE department_id > 10 AND salary > 10000"
NOLOGFILE=YES 
DIRECTORY=dpump_dir1 
DUMPFILE=exp1.dmp 

この例では、hrスキーマのすべての表がアンロードされます。ただし、アンロードされるのは、問合せ式に適合する行のみです。この場合、hrスキーマ内のすべての表(employeesを除く)のすべての行がアンロードされます。employees表に対しては、問合せ基準を満たす行のみがアンロードされます。

2.4.41 REMAP_DATA

Oracle Data Pump Exportのコマンドライン・ユーティリティのREMAP_DATAパラメータを使用すると再マップ・ファンクションを指定できます。これにより、指定した列の元の値をソースとして再マップした値を返し、ダンプ・ファイル内の元の値をこの値に置き換えます。

デフォルト

デフォルトはありません

用途

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のシノニムがある場合は、regnREMAP_DATA仕様の一部として指定した場合にエラーが返されます。

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

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

次の例では、minus10およびplusxという名前のファンクションが含まれたremapという名前のパッケージが作成されていることを前提としています。これらのファンクションは、employees表のemployee_idおよびfirst_nameの値を変更します。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=remap1.dmp TABLES=employees
REMAP_DATA=hr.employees.employee_id:hr.remap.minus10 
REMAP_DATA=hr.employees.first_name:hr.remap.plusx 

2.4.42 REUSE_DUMPFILES

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのxxxパラメータでは、既存のダンプ・ファイルを上書きするかどうかを指定します。

デフォルト: NO

用途

すでに存在しているダンプ・ファイルを上書きするかどうかを指定します。

構文および説明

REUSE_DUMPFILES=[YES | NO]

通常、データ・ポンプ・エクスポートは、すでに存在するダンプ・ファイル名を指定するとエラーを返します。REUSE_DUMPFILESパラメータを使用すると、動作を変更してダンプ・ファイル名を再利用できます。たとえば、DUMPFILE=hr.dmpおよびREUSE_DUMPFILES=YESを指定してエクスポートを実行すると、hr.dmpは、すでに存在する場合には上書きされます。前の内容は消去され、かわりに現行のエクスポートのデータが格納されます。

次のエクスポート操作では、enc1.dmpという名前のダンプ・ファイルが作成されます。これは、この名前の付いたダンプ・ファイルがすでに存在する場合でも同様です。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=enc1.dmp
TABLES=employees REUSE_DUMPFILES=YES

2.4.43 SAMPLE

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのSAMPLEパラメータでは、ソース・データベースからサンプリングおよびアンロードするデータ行の割合を指定します。

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

用途

ソース・データベースからサンプリングおよびアンロードするデータ行の割合を指定します。

構文および説明

SAMPLE=[[schema_name.]table_name:]sample_percent 

このパラメータを使用すると、サンプリングしてエクスポートするデータの割合を指定し、データのサブセットをエクスポートできます。sample_percentは、行がサンプルの一部として選択される可能性を示します。ただし、指定した正確な行数が表から取り出されるわけではありません。sample_percentには、0.000001から100未満の任意の数を指定できます。

特定の表にsample_percentを適用できます。次の例では、HR.EMPLOYEES表の50%がエクスポートされます。

SAMPLE="HR"."EMPLOYEES":50

スキーマを指定する場合は、表も指定する必要があります。ただし、スキーマを指定せずに表を指定できます。このシナリオでは、現在のユーザーが想定されます。表の指定がない場合は、エクスポート・ジョブ全体にsample_percent値が適用されます。

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

制限事項

  • SAMPLEパラメータは、ネットワークのエクスポートに対して無効です。

次の例では、表の名前が指定されていないため、全体のエクスポート・ジョブにSAMPLE70が適用されます。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=sample.dmp SAMPLE=70

関連トピック

2.4.44 SCHEMAS

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのSCHEMASパラメータでは、スキーマ・モード・エクスポートを実行することを指定します。これは、エクスポートのデフォルトのモードです。

デフォルト: 現在のユーザーのスキーマ

用途

スキーマ・モード・エクスポートの実行を指定します。これは、エクスポートのデフォルトのモードです。

構文および説明

SCHEMAS=schema_name [, ...]

DATAPUMP_EXP_FULL_DATABASEロールがある場合、自分のスキーマ以外の単一のスキーマまたはスキーマ名のリストを指定できます。DATAPUMP_EXP_FULL_DATABASEロールでは、インポート時にスキーマを再作成できるように、指定した各スキーマのスキーマ・オブジェクト以外の補足情報をエクスポートすることもできます。この補足情報には、ユーザー定義、関連するすべてのシステムおよびロールの権限、ユーザー・パスワードの履歴などが含まれます。スキーマ・モードを使用したエクスポート対象を、フィルタ処理によってさらに制限できます。

制限事項

  • DATAPUMP_EXP_FULL_DATABASEロールを持っていない場合は、自分のスキーマのみ指定できます。

  • SYSスキーマは、エクスポート・ジョブのソース・スキーマとして使用できません。

次に、SCHEMASパラメータの使用例を示します。前述の例でDATAPUMP_EXP_FULL_DATABASEロールがすでに割り当てられているため、ユーザーhrが複数のスキーマを指定できることに注意してください。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr,sh,oe 
 

このコマンドで、スキーマ・モード・エクスポートが実行され、dpump_dir1ディレクトリにあるexpdat.dmpダンプ・ファイルに、スキーマhrshおよびoeが書き込まれます。

2.4.45 SERVICE_NAME

Oracle Data Pumpエクスポートのコマンドライン・ユーティリティのSERVICE_NAMEパラメータは、CLUSTERパラメータと組み合せることで使用するサービス名を指定します。

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

用途

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

構文および説明

SERVICE_NAME=name

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

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

CLUSTER=NOも指定した場合、SERVICE_NAMEパラメータは無視されます

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

  • Oracle Data PumpジョブをインスタンスAで開始したときに、CLUSTER=YESを指定し(またはデフォルトのYをそのまま使用し)、SERVICE_NAMEパラメータを指定しなかった場合、Oracle Data Pumpは、指定されている並列度に応じて、すべてのインスタンス(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で開始されます。

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

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_svname2.dmp SERVICE_NAME=sales

この例では、hrスキーマのスキーマ・モード・エクスポート(デフォルト・モード)を実行します。コマンドラインではCLUSTER=YESは指定されていませんが、それはデフォルトの動作なので、ジョブではサービス名salesに関連付けられたリソース・グループのすべてのインスタンスが使用されます。hr_svname2.dmpという名前のダンプ・ファイルが、ディレクトリ・オブジェクトdpump_dir1で指定された場所に書き込まれます。

関連トピック

2.4.46 SOURCE_EDITION

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのSOURCE_EDITIONパラメータでは、オブジェクトのエクスポート元のデータベース・エディションを指定します。

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

用途

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

構文および説明

SOURCE_EDITION=edition_name

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

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

制限事項

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

  • ジョブ・バージョンは、11.2以上である必要があります。

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

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=exp_dat.dmp SOURCE_EDITION=exp_edition EXCLUDE=USER

この例は、オブジェクトのエクスポート元となるexp_editionというエディションがシステム上に存在することを前提としています。エクスポート・モードは指定されていないため、デフォルトのスキーマ・モードが使用されます。EXCLUDE=userパラメータは、ユーザーの定義のみを除外します。ユーザーのスキーマに含まれるオブジェクトは除外されません。

関連項目:

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

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

2.4.47 STATUS

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのSTATUSパラメータでは、ジョブの状態の表示が更新される頻度を指定します

デフォルト: 0

用途

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

構文および説明

STATUS=[integer]

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

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

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

> expdp hr DIRECTORY=dpump_dir1 SCHEMAS=hr,sh STATUS=300

この例では、hrおよびshスキーマをエクスポートし、エクスポート状態を5分ごと(60秒×5 = 300秒)に表示します。

2.4.48 TABLES

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのTABLESパラメータでは、表モード・エクスポートを実行することを指定します。

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

用途

表モード・エクスポートの実行を指定します。

構文および説明

TABLES=[schema_name.]table_name[:partition_name] [, ...]

このモードを使用したエクスポート対象を、フィルタ処理によって制限できます。表およびパーティションまたはサブパーティションをカンマで区切ったリストを指定して、エクスポート対象のデータおよびメタデータをフィルタ処理できます。パーティションの名前を指定する場合は、関連表にあるパーティションまたはサブパーティションの名前にする必要があります。指定した表、パーティションおよびそれらの依存オブジェクトのみがアンロードされます。

パーティション表全体をエクスポートすると、パーティション表として全体的にインポートされます。これが当てはまらないのは、インポート時にPARTITION_OPTIONS=DEPARTITIONが指定されている場合のみです。

指定する表名の先頭にスキーマ名を修飾できます。デフォルトのスキーマは、現在のユーザーのスキーマです。自分のスキーマ以外のスキーマを指定するには、DATAPUMP_EXP_FULL_DATABASEロールが必要です。

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

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

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

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

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

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

      TABLES='"Emp"'
      
  • 表名を引用符で囲まないと、コマンドラインで指定する表名にポンド記号(#)は使用できません。同様に、パラメータ・ファイルでは、表名がポンド記号(#)を含んでいると、エクスポート・ユーティリティは、表名が引用符で囲まれていない場合コメントとして解釈します。

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

    TABLES=(emp#, dept, mydata)
    

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

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

    ノート:

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

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

表モード・エクスポート中のトランスポータブル・オプションの使用

表モード・エクスポート中にトランスポータブル・オプションを使用するには、TRANSPORTABLE=ALWAYSパラメータとTABLESパラメータを組み合せて指定します。指定した表、パーティションまたはサブパーティションのメタデータはダンプ・ファイルにエクスポートされます。実際のデータを移動するには、データ・ファイルをターゲット・データベースにコピーします。

表のパーティションの一部のみをエクスポートし、TRANSPORTABLE=ALWAYSパラメータを使用すると、インポート時にそれぞれのパーティションが非パーティション表になります。

制限事項

  • 相互スキーマ参照はエクスポートされません。たとえば、指定されたいずれかのスキーマ内の表にトリガーが定義されていても、そのトリガーが、明示的に指定されていないスキーマ内に常駐している場合はエクスポートされません。

  • 表で使用される型は、表モードではエクスポートされません。この制限事項により、後でダンプ・ファイルをインポートするときに宛先データベースに型が存在しない場合、表の作成は失敗します。

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

  • 表名にワイルドカード文字(%)を含む表のエクスポートは、表がパーティションの場合はサポートされません。

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

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

次の例に、hrスキーマにある3つ表employeesjobsおよびdepartmentsをエクスポートするためにTABLESパラメータを使用する簡単な例を示します。ユーザーhrは、hrスキーマ内の表をエクスポートしているため、表名の前にスキーマ名を指定する必要はありません。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tables.dmp
TABLES=employees,jobs,departments

次の例では、ユーザーhrDATAPUMP_EXP_FULL_DATABASEロールが付与されていることを前提としています。ここでは、TABLESパラメータを使用したパーティションのエクスポートを示します。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tables_part.dmp
TABLES=sh.sales:sales_Q1_2012,sh.sales:sales_Q2_2012

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

2.4.49 TABLESPACES

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのTABLESPACESパラメータでは、表領域モードでエクスポートされる表領域名のリストを指定します。

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

用途

表領域モードでエクスポートされる表領域名のリストを指定します。

構文および説明

TABLESPACES=tablespace_name [, ...]

表領域モードでは、指定した表領域内に存在する表のみがアンロードされます。表がアンロードされると、その表の依存オブジェクトもアンロードされます。オブジェクトのメタデータとデータは、両方ともアンロードされます。指定した表領域内に表の一部が存在する場合、その表とその表のすべての依存オブジェクトがエクスポートされます。特権ユーザーは、すべての表を取得します。権限のないユーザーは、自分のスキーマ内の表のみを取得します

このモードを使用したエクスポート対象を、フィルタ処理によって制限できます。

制限事項

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

次に、TABLESPACESパラメータの使用例を示します。この例では、表領域tbs_4tbs_5およびtbs_6がすでに存在するとします。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tbs.dmp 
TABLESPACES=tbs_4, tbs_5, tbs_6

このコマンドによって、表領域エクスポートが実行され、指定した表領域(tbs_4tbs_5およびtbs_6)から表(および表の依存オブジェクト)がアンロードされます。

2.4.50 TRANSPORT_DATAFILES_LOG

Oracle Data Pump Exportのコマンドライン・モードのTRANSPORT_DATAFILES_LOGパラメータでは、トランスポータブル・エクスポートに関連付けられたデータファイルのリストが書き込まれるファイルを指定します。

デフォルト

なし

用途

トランスポータブル・エクスポートに関連付けられたデータ・ファイルのリストの書込み先となるファイルを指定します。

構文および説明

TRANSPORT_DATAFILES_LOG=[directory_object:]file_name

directory_objectを指定する場合、これは、データベースで作成済で、自分にアクセス権があるオブジェクトにする必要があります。このパラメータは、DIRECTORYパラメータに指定されたディレクトリ・オブジェクトよりも優先されます。ログ・ファイルfile_nameにはデフォルトがありません。指定した場合、ファイルは、別のdirectory_objectを明示的に指定しないかぎり、DIRECTORYパラメータに指定されたディレクトリ・オブジェクトに作成されます。このパラメータで指定した名前と一致する名前を持つ既存のファイルはすべて上書きされます。

使用上のノート

TRANSPORT_DATAFILES_LOGファイルとして書き込まれる指定ファイルは、Oracle Data Pumpパラメータ・ファイルとして書式設定されます。このファイルを変更することにより、使用する他の任意のパラメータを追加し、このファイルを後続のインポート時のPARFILEパラメータの値として指定できます。

制限事項

このパラメータはトランスポータブル・モード・エクスポートで有効です

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

 > expdp hr DIRECTORY=dpump_dir DUMPFILE=tts.dmp
TRANSPORT_TABLESPACE=tbs_1, tbs_2 TRANSPORT_DATAFILES_LOG=tts.tdl

次に、TRANSPORT_DATAFILES_LOGパラメータを使用して出力として生成されるファイルの例を示します。この例では、target_database_area_pathが表領域ファイルのパスです。

#
# ******************************************************************************
#  The dump file set and data files must be copied to the target database area.
#  The data file paths must be updated accordingly before initiating the Import.
# ******************************************************************************
#
# Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
#   dpumpdir1:ttbs.dmp
#
# Datafiles required for transportable tablespace TBS1:
#   /oracle/dbs/tbs1.dbf
#
# Datafiles required for transportable tablespace TBS2:
#   /oracle/dbs/tbs2.dbf
#
#
TRANSPORT_DATAFILES=
'target_database_area_pathtbs1.dbf'
'target_database_area_pathtbs2.dbf'

2.4.51 TRANSPORT_FULL_CHECK

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのTRANSPORT_FULL_CHECKパラメータでは、トランスポータブル・セット内部のオブジェクトと外部のオブジェクトの間の依存性をチェックするかどうかを指定します。このパラメータは、トランスポータブル表領域モード・エクスポートでのみ使用可能です。

デフォルト: NO

用途

トランスポータブル・セット内部のオブジェクトと外部のオブジェクト間の依存性をチェックするかどうかを指定します。このパラメータは、トランスポータブル表領域モード・エクスポートでのみ使用可能です。

構文および説明

TRANSPORT_FULL_CHECK=[YES | NO]

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

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

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

クローズ・チェック全体を制御する現在のコマンドライン・パラメータは、次の2つです。

TTS_FULL_CHECK=[YES|NO]
TRANSPORT_FULL_CHECK=[YES|NO]
[TTS|TRANSPORT]_FULL_CHECK=YESTTS_CLOSURE_CHECK=FULLと解釈されます。[TTS|TRANSPORT]_FULL_CHECK=NOTTS_CLOSURE_CHECK=ONと解釈されます。

次に、TRANSPORT_FULL_CHECKパラメータの使用例を示します。ここでは、表領域tbs_1が存在するとします。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tts.dmp 
TRANSPORT_TABLESPACES=tbs_1 TRANSPORT_FULL_CHECK=YES LOGFILE=tts.log 

2.4.52 TRANSPORT_TABLESPACES

データ・ポンプ・エクスポートのコマンドライン・ユーティリティのTRANSPORT_TABLESPACESパラメータでは、トランスポータブル表領域モードでのエクスポートを実行することを指定します

デフォルト

デフォルトはありません

用途

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

構文および説明

TRANSPORT_TABLESPACES=tablespace_name [, ...]

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

エクスポートのログ・ファイルには、トランスポータブル・セットで使用されているデータ・ファイル、ダンプ・ファイルおよび制約違反が一覧表示されます。

TRANSPORT_TABLESPACESパラメータを使用すると、指定した表領域内のすべてのオブジェクトのメタデータがエクスポートされます。特定の表、パーティションまたはサブパーティションのみのトランスポータブル・エクスポートを実行する場合は、TABLESパラメータとTRANSPORTABLE=ALWAYSパラメータを併用する必要があります。

ノート:

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

制限事項

  • トランスポータブル表領域ジョブは、並列度1に制限されなくなりました。

  • トランスポータブル表領域モードでは、DATAPUMP_EXP_FULL_DATABASEロールが必要です。

  • エクスポートを実行するユーザーのデフォルトの表領域を、転送対象となっている表領域のいずれかに設定することはできません。

  • SYSTEMおよびSYSAUX表領域は、トランスポータブル表領域モードで転送できません。

  • トランスポータブル・セット内のすべての表領域は、読取り専用に設定する必要があります。

  • データ・ポンプ・エクスポートのVERSIONパラメータとTRANSPORT_TABLESPACESパラメータと一緒に指定する場合、バージョンはOracle Database COMPATIBLE初期化パラメータ以上である必要があります。

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

  • トランスポータブル表領域のジョブでは、データ・ポンプ・エクスポートのACCESS_METHODパラメータはサポートされません。

次に、TRANSPORT_TABLESPACESパラメータを(ネットワークベースではなく)ファイル・ベースのジョブに使用した例を示します。表領域tbs_1は、移動する表領域です。この例では、表領域tbs_1がすでに存在し、読取り専用に設定されていると仮定しています。また、この例では、このエクスポート・コマンドの実行前にデフォルトの表領域が変更されていると仮定しています。

> expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tts.dmp
TRANSPORT_TABLESPACES=tbs_1 TRANSPORT_FULL_CHECK=YES LOGFILE=tts.log

データベース間の表領域の転送の詳細は、Oracle Database管理者ガイドを参照してください

2.4.53 TRANSPORTABLE

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

デフォルト: NEVER

用途

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

構文および説明

TRANSPORTABLE = [ALWAYS | NEVER]

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

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

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

全体モード・エクスポートでトランスポータブル・オプションを使用すると、データベースの完全なコピーを作成するために必要なすべてのオブジェクトおよびデータがエクスポートされる全体トランスポータブル・エクスポートになります。

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

ノート:

トランスポータブル・モードで表領域全体をエクスポートするには、TRANSPORT_TABLESPACESパラメータを使用します。

  • 表のパーティションの一部のみをエクスポートし、TRANSPORTABLE=ALWAYSパラメータを使用すると、インポート時にそれぞれのパーティションが非パーティション表になります。

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

    • PARTITION_OPTIONS=DEPARTITIONを使用している場合は、ダンプ・ファイル・セットに含まれるそれぞれのパーティションが、非パーティション表として作成されます。

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

制限事項

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

  • TRANSPORTABLEパラメータを使用するには、COMPATIBLE初期化パラメータを11.0.0以上に設定する必要があります。

  • FULLパラメータをTRANSPORTABLE (全体トランスポータブル・エクスポートの実行)と組み合せて使用するには、データ・ポンプのVERSIONパラメータを12.0以上に設定する必要があります。VERSIONパラメータを指定しない場合、COMPATIBLEデータベース初期化パラメータを12.0以上に設定する必要があります。

  • トランスポータブル・エクスポートを実行するユーザーには、DATAPUMP_EXP_FULL_DATABASE権限が必要です。

  • 表、パーティションおよびサブパーティションに関連付けられている表領域は読取り専用である必要があります。

  • 全体トランスポータブル・エクスポートでは、データ移動方法の組合せが使用されます。トランスポータブル表領域に存在するオブジェクトは、そのメタデータのみがアンロードされ、データはデータ・ファイルがソース・システムからターゲット・システムにコピーされるときにコピーされます。コピーする必要のあるデータ・ファイルは、エクスポート操作のログ・ファイルの最後に表示されます。非トランスポータブル表領域に存在するオブジェクト(SYSTEMSYSAUXなど)は、そのメタデータとデータの両方がダンプ・ファイル・セットにアンロードされます。(全体トランスポータブル・エクスポートの実行の詳細は、『Oracle Database管理者ガイド』を参照してください。)

  • エクスポートを実行するユーザーのデフォルトの表領域を、転送対象となっている表領域のいずれかに設定することはできません。

次の例では、shユーザーがDATAPUMP_EXP_FULL_DATABASEロールを持ち、表sales2がパーティション化されて表領域tbs2内に格納されているとします。(tbs2表領域はソース・データベースで読取り専用に設定する必要があります。)

> expdp sh DIRECTORY=dpump_dir1 DUMPFILE=tto1.dmp
TABLES=sh.sales2 TRANSPORTABLE=ALWAYS 

エクスポートが正常に完了した後は、データ・ファイルをターゲット・データベース領域にコピーする必要があります。次に、PARTITION_OPTIONSREMAP_SCHEMAの各パラメータを使用してインポート操作を実行し、sales2の各パーティションを固有の表にします。

> impdp system PARTITION_OPTIONS=DEPARTITION 
TRANSPORT_DATAFILES=oracle/dbs/tbs2 DIRECTORY=dpump_dir1 
DUMPFILE=tto1.dmp REMAP_SCHEMA=sh:dp

2.4.54 TTS_CLOSURE_CHECK

データ・ポンプ・エクスポート・コマンドライン・モードのTTS_CLOSURE_CHECKパラメータは、データ・ポンプのトランスポータブル表領域操作の一部として実行されるクローズ・チェックの程度を示すために使用されます。

用途

トランスポータブル・エクスポート操作の一環として実行するクローズ・チェックのレベルを指定します。TTS_CLOSURE_CHECKパラメータを使用して、テスト・モードのトランスポータブル表領域操作中に、読取り/書込み可能な状態に表領域を保持することを示すこともできます。このオプションは、エクスポート操作のタイミング要件を取得するために使用されます。これはテスト目的の場合のみです。インポートにはダンプ・ファイルを使用できません。

構文および説明

TTS_CLOSURE_CHECK = [ ON | OFF | FULL | TEST_MODE ]

TTS_CLOSURE_CHECKパラメータでは、次のオプションがサポートされます。

  • ON - 自己完結型クローズ・チェックが実行されることを示します

  • OFF - クローズ・チェックが実行されないことを示します

  • FULL - 完全な双方向クローズ・チェックが実行されることを示します

  • TEST_MODE - 表領域を読取り専用モードにする必要がないことを示します

ONOFFおよびFULLオプションは相互に排他的です。TEST_MODEは、データ・ポンプ・エクスポート・オプションのみです。

例2-1 例

TTS_CLOSURE_CHECK=FULL

2.4.55 VERSION

Oracle Data Pump Exportのコマンドライン・ユーティリティのVERSIONパラメータでは、エクスポートするデータベース・オブジェクトのバージョンを指定します。

デフォルト: COMPATIBLE

用途

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

Oracle Database 23c以降、ダンプ・ファイルにヘッダー・ブロックを使用する場合は、VERSIONを使用して、VERSION=23で作成された互換性のあるバージョンのダンプ・ファイルを以前のリリースにインポートできないように指定する必要があります。ただし、Data Pumpは、ヘッダー・ブロックを使用して以前のリリースからOracle Database 23cに引き続きインポートできます。

Oracle Database 11gリリース2 (11.2.0.3)以降では、VERSIONパラメータをVERSION=12とし、FULL=Yとともに指定することで、Oracle Database 12cにインポートできる全体エクスポートのダンプ・ファイルを生成できます。以降のリリース・ターゲットのVERSION値を含むエクスポートには、登録済データベースのオプションおよびコンポーネントからの情報が含まれます。以降のリリース・バージョンを指定するダンプ・ファイル・セットは、Oracle Database 12cリリース1 (12.1.0.1)以降にのみインポートできます。たとえば、VERSION=12FULL=Yとともに使用して、TRANSPORTABLE=ALWAYSも指定すると、Oracle Database 12cにインポートできる全体トランスポータブル・エクスポート・ダンプ・ファイルが生成されます。詳細は、FULLエクスポート・パラメータ・オプションを参照してください。

構文および説明

VERSION=[COMPATIBLE | LATEST | version_string]

VERSIONパラメータで使用可能な値は、次のとおりです。

  • COMPATIBLE - この値がデフォルト値です。メタデータのバージョンは、COMPATIBLE初期化パラメータで指定したデータベース互換性レベルに対応します。

    ノート: データベースの互換性は、9.2以降に設定する必要があります。

  • LATEST - メタデータおよび生成されるSQL DDLのバージョンは、互換性レベルに関係なく、データベース・リリースに対応します。

  • version_string - 特定のデータベース・リリース(11.2.0など)。Oracle Database 11gの場合、9.2未満の値は指定できません。

VERSIONで指定したリリースと互換性のないデータベース・オブジェクトまたは属性は、エクスポートされません。たとえば、指定したリリースではサポートされていない新しいデータ型を含む表はエクスポートされません。ダンプ・ファイルをVERSION=19のOracle Cloud Infrastructure (OCI)ネイティブ資格証明ストアにエクスポートしようとすると、エクスポートが失敗し、次のエラーが表示されます。

ORA-39463 "header block format is not supported for object-store URI dump file"

制限事項

  • アーカイブされたLOBがある表を、リリース11.2よりも前のデータベースにエクスポートすることはできません。

  • データ・ポンプ・エクスポートのVERSIONパラメータをTRANSPORT_TABLESPACESパラメータとともに指定する場合、VERSIONの値はOracle Database COMPATIBLE初期化パラメータ以上である必要があります。

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

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

次の例は、メタデータのバージョンがデータベースのリリースに対応している場合のエクスポートの例を示します。

> expdp hr TABLES=hr.employees VERSION=LATEST DIRECTORY=dpump_dir1
DUMPFILE=emp.dmp NOLOGFILE=YES

2.4.56 VIEWS_AS_TABLES

Oracle Data Pump Exportのコマンドライン・ユーティリティのVIEWS_AS_TABLESパラメータでは、1つ以上のビューを表としてエクスポートすることを指定します。

デフォルト

デフォルトはありません

注意:

VIEWS_AS_TABLESパラメータによって、暗号化されていない形式のビュー・データはアンロードされ、暗号化されていない表が作成されます。機密データをアンロードする場合、エクスポート操作で暗号化を有効にし、必ず暗号化された表領域に表を作成することをお薦めします。REMAP_TABLESPACEパラメータを使用して、このような表領域に表を移動できます。

用途

1つ以上のビューを表としてエクスポートすることを指定します。

構文および説明

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

Oracle Data Pumpによって、ビューと同じ列を含み、ビューから取得された行データを含む表がエクスポートされます。Oracle Data Pumpでは、権限や制約などのビューに依存するオブジェクトもエクスポートされます。表に適用されない依存オブジェクト(UNDERオブジェクト権限の付与など)は、エクスポートされません。VIEWS_AS_TABLESパラメータは、単独で使用することも、TABLESパラメータと組み合せて使用することもできます。どちらを使用しても、Oracle Data Pumpでは表モード・エクスポートが実行されます。

構文要素の定義は次のとおりです。

schema_name: ビューが存在するスキーマの名前。スキーマ名を指定しない場合、デフォルトで、エクスポートを実行するユーザーになります。

view_name: 表としてエクスポートするビューの名前。ビューは存在し、LOB以外のスカラー列のみを含むリレーショナル・ビューである必要があります。無効なビューや存在しないビューを指定すると、そのビューはスキップされてエラー・メッセージが返されます。

table_name: エクスポートされるビューのメタデータのソースとなる表の名前。デフォルトでは、Oracle Data Pumpによって、ビューと同じ列およびデータ型を持つ、行の含まれない一時的なテンプレート表が自動的に作成されます。データベースが読取り専用の場合、このテンプレート表のデフォルトの作成には失敗します。この場合、表名を指定できます。表は、ビューと同じスキーマに属している必要があります。これは、ヒープ構成のパーティション化されていないリレーショナル表である必要があります。ネストした表にすることはできません。

テンプレート表が明示的に指定された複数のビューがエクスポート・ジョブに含まれる場合、それらのテンプレート表はすべて異なっている必要があります。たとえば、2つのビューで同じテンプレート表を使用している次のジョブでは、ビューの1つがスキップされます。

expdp scott/password directory=dpump_dir dumpfile=a.dmp views_as_tables=v1:emp,v2:emp

オブジェクトの省略をレポートするエラー・メッセージが返されます。

テンプレート表は、エクスポート操作の完了後に自動的に削除されます。それらが存在している間は、次の問合せを実行してその名前を表示できます(名前はすべて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 SCOTT.EMPV

制限事項

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

  • VIEWS_AS_TABLESパラメータを使用して作成された表には、指定したビューの一部であった非表示列は含まれません。

  • VIEWS_AS_TABLESパラメータでは、LONGのデータ型の列のある表をサポートしていません。

次の例では、ビューscott.view1の内容をscott1.dmpというダンプ・ファイルにエクスポートします。

> expdp scott/password views_as_tables=view1 directory=data_pump_dir dumpfile=scott1.dmp

ダンプ・ファイルには、ビューから取得された行を持つview1という表が含まれます。

2.5 データ・ポンプ・エクスポートの対話方式コマンド・モードで使用可能なコマンド

データ・ポンプ・エクスポートを対話方式コマンド・モードで使用するときに使用可能なコマンド・オプションを確認します。

2.5.1 Oracle Data Pump Exportの対話方式コマンド・モードについて

現行のジョブの実行中にOracle Data Pump Exportの対話方式コマンド・モードで使用可能なコマンドについて学習します。

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

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

  • 接続されたクライアントから、[Ctrl]を押しながら[C]を押します。

  • ジョブを実行している端末以外の端末から、expdpコマンドでATTACHパラメータを指定してジョブに接続します。ATTACHは、ある場所で開始したジョブを、後で別の場所から確認する必要がある場合に有効な機能です。

次の表に、現行のジョブに対して対話方式コマンド・モードでデータ・ポンプ・エクスポート・プロンプトから実行できる操作を示します。

表2-1 データ・ポンプ・エクスポートの対話方式コマンド・モードでサポートされているコマンド

操作 使用するコマンド

追加ダンプ・ファイルを追加する。

ADD_FILE

対話方式モードを終了し、ロギング・モードに切り替える。

CONTINUE_CLIENT

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

EXIT_CLIENT

ダンプ・ファイルのデフォルト・サイズを再定義して、その後のすべてのダンプ・ファイルに適用する。

FILESIZE

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

HELP

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

KILL_JOB

現行のジョブに対するアクティブなワーカー・プロセスの数を増減する。このコマンドは、Oracle Database 11g以上のEnterprise Editionでのみ有効。

PARALLEL

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

START_JOB

現行のジョブの詳細な状態を表示したり、状態の表示周期を設定する。

STATUS

後で再開するために、現行のジョブを停止する。

STOP_JOB

2.5.2 ADD_FILE

Oracle Data Pump Exportの対話方式コマンド・モードのADD_FILEパラメータにより、エクスポート・ダンプ・ファイル・セットに、さらにファイルまたは置換変数を追加します。

用途

エクスポート・ダンプ・ファイル・セットに、追加ファイルまたは置換変数を追加します。

構文および説明

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

各ファイル名に、異なるディレクトリ・オブジェクトを指定できます。ディレクトリ・オブジェクトを指定しない場合は、デフォルトが使用されます。

file_nameに、ディレクトリ・パスの情報を含めないでください。ただし、置換変数(%U)を含めることはできます。この置換変数は、指定されたファイル名をテンプレートとして使用し、複数のファイルが生成できることを示します。

追加されるファイルのサイズは、FILESIZEパラメータの設定によって決定されます。

次の例では、2つのダンプ・ファイルをダンプ・ファイル・セットに追加します。ダンプ・ファイルhr2.dmpに、ディレクトリ・オブジェクトが指定されていないため、ジョブに対するデフォルトのディレクトリ・オブジェクトを使用するとします。別のディレクトリ・オブジェクトdpump_dir2が、ダンプ・ファイルhr3.dmpに指定されています。

Export> ADD_FILE=hr2.dmp, dpump_dir2:hr3.dmp

2.5.3 CONTINUE_CLIENT

Oracle Data Pump Exportの対話方式コマンド・モードのCONTINUE_CLIENTパラメータにより、対話方式コマンド・モードからロギング・モードに変更します。

用途

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

構文および説明

CONTINUE_CLIENT

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

Export> CONTINUE_CLIENT

2.5.4 EXIT_CLIENT

Oracle Data Pump Exportの対話方式コマンド・モードのEXIT_CLIENTパラメータにより、エクスポート・クライアント・セッションを停止し、エクスポート・ユーティリティを終了して、端末へのロギングを中断します。ただし、現行のジョブの実行は続行します。

用途

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

構文および説明

EXIT_CLIENT

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

Export> EXIT_CLIENT

2.5.5 FILESIZE

Oracle Data Pump Exportの対話方式コマンド・モードのFILESIZEパラメータでは、後のダンプ・ファイルの最大サイズを再定義します。

用途

後のダンプ・ファイルの最大サイズを再定義します。ダンプ・ファイル・セット内にあるダンプ・ファイルが最大サイズになると、そのファイルはクローズされ、ファイル指定に置換変数が含まれている場合または追加ダンプ・ファイルがジョブに追加されている場合は、新しいファイルが作成されます。

構文および説明

FILESIZE=integer[B | KB | MB | GB | TB]

integerの後に(スペースを挿入しない)、BKBMBGBまたはTB(それぞれバイト、キロバイト、メガバイト、ギガバイト、テラバイトを示す)を指定できます。デフォルトは、B(バイト)です。作成されるファイルの実際のサイズは、ダンプ・ファイル内で使用されている内部ブロックのサイズと一致するように切り捨てられる場合があります。

ファイル・サイズ0は最大ファイル・サイズの16TBと同じです。

制限事項

  • ファイルの最小サイズは、デフォルトのOracle Data Pumpブロック・サイズの10倍、つまり4KBです。
  • ファイルの最大サイズは16TBです。

Export> FILESIZE=100MB

2.5.6 HELP

Oracle Data Pump Exportの対話方式コマンド・モードのHELPパラメータにより、対話方式コマンド・モードで使用可能なデータ・ポンプ・エクスポート・コマンドの情報を表示します。

用途

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

構文および説明

HELP

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

Export> HELP

2.5.7 KILL_JOB

Oracle Data Pumpエクスポートの対話方式コマンド・モードのKILL_JOBパラメータでは、現在接続中のすべてのワーカー・クライアント・セッションを切断してから、現行のジョブを終了します。エクスポート・ユーティリティを終了し、端末プロンプトに戻します。

用途

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

構文および説明

KILL_JOB

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

Export> KILL_JOB

2.5.8 PARALLEL

エクスポート・インタラクティブ・コマンド・モードのPARALLELパラメータを使用すると、現在のジョブのアクティブなプロセス(子プロセスおよびパラレル子プロセス)の数を増減できます。

用途

現在のジョブのアクティブなプロセス(子プロセスおよびパラレル子プロセス)の数を増減できます。

構文および説明

PARALLEL=integer

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

制限事項

  • このパラメータは、Oracle Database 11g以降のリリースのEnterprise Editionでのみ有効です。
  • トランスポータブル表領域のメタデータは、パラレルでインポートできません。
  • NETWORK_LINKパラメータが使用されていると、メタデータはパラレルでインポートできなくなります。

また、次のオブジェクトもパラレルでインポートできません。

  • TRIGGER
  • VIEW
  • OBJECT_GRANT
  • SEQUENCE
  • CONSTRAINT
  • REF_CONSTRAINT

Export> PARALLEL=10

関連トピック

2.5.9 START_JOB

Oracle Data Pumpエクスポートの対話方式コマンド・モードのSTART_JOBパラメータでは、接続している現行のジョブを開始します。

用途

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

構文および説明

START_JOB

START_JOBコマンドは、接続先の現在のジョブを再起動します。コマンドの入力時にジョブを実行することはできません。ダンプ・ファイル・セットおよび親ジョブ表が元のまま変更されていない場合は、予期しない障害またはSTOP_JOBコマンドの発行後に、データの損失や破損なしにジョブが再開されます。

Export> START_JOB

2.5.10 STATUS

Oracle Data Pump Exportの対話方式コマンドのSTATUSパラメータにより、エクスポートに関する状態情報を表示し、ロギング・モードの状態を表示する間隔を再設定できます。

用途

ジョブの累積的な状態、現行の操作の説明および推定完了率を表示します。ロギング・モードの状態を表示する間隔を再設定することもできます。

構文および説明

STATUS[=integer]

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

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

次に、現行のジョブの状態を表示し、ロギング・モードの表示間隔を5分(300秒)に変更する例を示します。

Export> STATUS=300

2.5.11 STOP_JOB

Oracle Data Pumpエクスポートの対話型コマンド・モードのSTOP_JOBパラメータは、現在のジョブを停止します。ジョブを即時にまたは手順に従って停止し、エクスポートを終了します。

用途

現行のジョブを即時にまたは手順に従って停止し、エクスポートを終了します。

構文および説明

STOP_JOB[=IMMEDIATE]

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

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

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

Export> STOP_JOB=IMMEDIATE

2.6 Oracle Data Pumpエクスポートの使用例

次の一般的なシナリオ例を使用して、データの移動にOracle Data Pumpエクスポートを使用する方法について学習します。

2.6.1 表モード・エクスポートの実行

この例は、TABLESパラメータを使用して指定される表モード・エクスポートを示しています。

この例では、データ・ポンプ・エクスポート・コマンドにより、人事管理(hr)スキーマから表employeesおよびjobsの表エクスポートを実行します。

ユーザーhrは、自分のスキーマ内の表をエクスポートしているため、表名の前にスキーマ名を指定する必要はありません。NOLOGFILE=YESパラメータは、その操作のエクスポート・ログ・ファイルが生成されないことを示します。

例2-2 表モード・エクスポートの実行

expdp hr TABLES=employees,jobs DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=YES

2.6.2 選択した表および行のデータのみのアンロード

この例は、選択した表および行のデータのみのアンロードを示しています。

この例では、表countriesおよびregionsを除く人事管理(hr)スキーマ内のすべての表について、データのみのアンロードを実行するために使用可能なパラメータ・ファイル(exp.par)の内容を示します。employees表から、department_idが50以外の行がアンロードされます。行は、employee_id順にソートされます。

次のコマンドを使用して、exp.parパラメータ・ファイルを実行できます。

> expdp hr PARFILE=exp.par

このエクスポートにより、スキーマ・モード・エクスポート(デフォルト・モード)が実行されますが、CONTENTパラメータによって、エクスポートが表のデータのみのアンロードに効果的に制限されます。ディレクトリ・オブジェクトdpump_dir1,は、DBAによってすでに作成されています。このオブジェクトは、エクスポート・ダンプ・ファイルに対する読取りおよび書込み権限がユーザーhrに付与されているサーバー上のディレクトリを示しています。ダンプ・ファイルdataonly.dmpは、dpump_dir1に作成されます。

例2-3 選択した表および行のデータのみのアンロード

DIRECTORY=dpump_dir1
DUMPFILE=dataonly.dmp
CONTENT=DATA_ONLY
EXCLUDE=TABLE:"IN ('COUNTRIES', 'REGIONS')"
QUERY=employees:"WHERE department_id !=50 ORDER BY employee_id"

2.6.3 表モード・エクスポートに必要なディスク領域の見積り

この例では、表モード・エクスポートで使用される領域を見積もる方法を示します。

この例では、ESTIMATE_ONLYパラメータを使用して、実際のエクスポート操作を実行することなく、表モード・エクスポートで消費される領域を見積もります。次のコマンドを実行し、BLOCKSメソッドを使用して、人事管理(hr)スキーマの3つの表employeesdepartmentsおよびlocationsのデータのエクスポートに必要なバイト数を見積もります。

見積りはログ・ファイルに出力され、クライアントの標準出力デバイスに表示されます。見積りの対象は、表の行データのみです。メタデータは含まれません。

例2-4 表モード・エクスポートに必要なディスク領域の見積り

> expdp hr DIRECTORY=dpump_dir1 ESTIMATE_ONLY=YES TABLES=employees, 
departments, locations LOGFILE=estimate.log

2.6.4 スキーマ・モード・エクスポートの実行

この例では、スキーマ・モード・エクスポートの実行方法を示します。

この例では、hrスキーマのスキーマ・モード・エクスポートを示します。スキーマ・モード・エクスポートでは、対応するスキーマに属するオブジェクトのみがアンロードされます。スキーマ・モードは、デフォルトのモードであるため、複数のスキーマや自分のスキーマ以外を指定する場合以外、コマンドラインでSCHEMASパラメータを指定する必要はありません。

例2-5 スキーマ・モード・エクスポートの実行

> expdp hr DUMPFILE=dpump_dir1:expschema.dmp LOGFILE=dpump_dir1:expschema.log

2.6.5 パラレル全データベース・エクスポートの実行

パラレル全データベース・エクスポートの実行方法を学習するには、この例を使用して構文を理解します。

この例は、3つのパラレル・プロセス(ワーカーまたはパラレル問合せワーカー・プロセス)を使用できる全データベース・エクスポートを示しています。

例2-6 パラレル全体エクスポート

> expdp hr FULL=YES DUMPFILE=dpump_dir1:full1%U.dmp, dpump_dir2:full2%U.dmp
FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expfull.log JOB_NAME=expfull

このエクスポートは、全データベース・エクスポートであるため、データベースのすべてのデータおよびメタデータがエクスポートされます。full101.dmpfull201.dmpfull102.dmpなどのダンプ・ファイルが、dpump_dir1およびdpump_dir2ディレクトリ・オブジェクトで示されたディレクトリに、ラウンドロビン法で作成されます。最高のパフォーマンスを得るために、Oracleではダンプ・ファイルを個別の入出力(I/O)チャネルに配置することをお薦めします。各ファイルのサイズは、必要に応じて2GBまで拡張されます。最初に、最大3つのファイルが作成されます。必要に応じて、さらにファイルが作成されます。ジョブおよびデータ・ポンプ制御プロセス表の名前はexpfullです。ログ・ファイルは、dpump_dir1ディレクトリのexpfull.logに書き込まれます。

2.6.6 対話方式モードを使用したジョブの停止および再接続

この例では、対話方式モードを使用してジョブを停止したり、ジョブに再接続する方法を示します。

この例を開始する前に、次に示すパラレル全体エクスポートを再実行します。

パラレル全データベース・エクスポートの実行

エクスポートの実行中、[Ctrl]を押しながら[C]を押します。このキーボード・コマンドでは、データ・ポンプ・エクスポートの対話方式コマンド・インタフェースを起動します。対話方式インタフェースでは、端末へのロギングは停止され、データ・ポンプ・エクスポートのプロンプトが表示されます。

ジョブの状態が表示された後、CONTINUE_CLIENT コマンドを実行して、ロギング・モードを再開し、expfullジョブを再起動できます。

Export> CONTINUE_CLIENT

ジョブが再オープンされたことを示すメッセージが表示され、処理の状態がクライアントに出力されます。

例2-7 ジョブの停止と再接続

エクスポート・プロンプトで、次のコマンドを実行してジョブを停止します。

Export> STOP_JOB=IMMEDIATE
Are you sure you wish to stop this job ([y]/n): y

このジョブは停止状態でクライアントを終了します。

停止したジョブに再接続するには、次のコマンドを入力します。

> expdp hr ATTACH=EXPFULL

2.7 Oracle Data Pumpエクスポートの構文図

構文図を使用すると、Oracle Data Pump Exportでの有効なSQL構文を理解できます。

構文図の読み方

構文図とは、SQLの有効な構文を図で示したものです。構文図は、矢印が示す方向に左から右へ読んでください。

標準のSQL構文表記法の詳細は、次を参照してください。

『Oracle Database SQL言語リファレンス』の「構文図の読み方」