ヘッダーをスキップ

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

B19211-01
目次
目次
索引
索引

戻る 次へ

2 Data Pump Export

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

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


注意:

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


Data Pump Export(以降、Exportユーティリティと呼びます)は、ダンプ・ファイル・セットと呼ばれる一連のオペレーティング・システム・ファイルにデータおよびメタデータをアンロードするためのユーティリティです。ダンプ・ファイル・セットは、Data Pump Importユーティリティによってのみインポートできます。ダンプ・ファイル・セットは、同一システムでインポートするか、または別のシステムへ移動してそのシステムにロードできます。

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

ダンプ・ファイルは、クライアントではなくサーバーによって書き込まれるため、データベース管理者(DBA)は、ディレクトリ・オブジェクトを作成する必要があります。ディレクトリ・オブジェクトの詳細は、「ダンプ・ファイル、ログ・ファイルおよびSQLファイルのデフォルトの位置」を参照してください。

Data Pump Exportユーティリティでは、データおよびメタデータのサブセットが、エクスポート・モードで設定されているとおりにジョブによって移動されるように指定できます。この指定には、エクスポート・パラメータで指定するデータ・フィルタおよびメタデータ・フィルタが使用されます。詳細は、「エクスポート操作中のフィルタ処理」を参照してください。

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

Data Pump Exportの起動

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


注意:

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


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

Data Pump Exportのインタフェース

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

Data Pump Exportのモード

エクスポート操作の重要な特性の1つはモードです。これは、エクスポートされる内容の大部分がモードによって決定されるためです。Exportユーティリティには、データベースの様々な部分をアンロードするための様々なモードがあります。モードは、適切なパラメータを使用してコマンドラインで指定します。使用可能なモードは次のとおりです。

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

全体エクスポートは、FULLパラメータを使用して指定します。全データベース・エクスポートでは、データベース全体がアンロードされます。このモードには、EXP_FULL_DATABASEロールが必要です。

参照:

「FULL」 

スキーマ・モード

スキーマ・エクスポートは、SCHEMASパラメータを使用して指定します。これがデフォルトのエクスポート・モードです。EXP_FULL_DATABASEロールを所有している場合は、スキーマのリストを指定し、オプションでスキーマ定義およびこれらのスキーマに対するシステム権限を指定することができます。EXP_FULL_DATABASEロールを所有していない場合は、自分のスキーマのみをエクスポートできます。

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

参照:

「SCHEMAS」 

表モード

表エクスポートは、TABLESパラメータを使用して指定します。表モードでは、指定した表、パーティションおよびそれらの依存オブジェクトのみがアンロードされます。自分のスキーマに存在しない表を指定するには、EXP_FULL_DATABASEロールが必要です。指定するすべての表が、単一のスキーマ内に存在する必要があります。列の型定義は、表モードではエクスポートされません。この場合は、インポート時に、型定義がターゲット・インスタンスにすでに存在している必要があります。また、スキーマ・エクスポートの場合と同様に、相互スキーマ参照もエクスポートされません。

参照:

「TABLES」 

表領域モード

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

参照:

  • 「TABLESPACES」

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

 

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

トランスポータブル表領域エクスポートは、TRANSPORT_TABLESPACESパラメータを使用して指定します。トランスポータブル表領域モードでは、指定した表領域内にある表のメタデータ(およびその表の依存オブジェクト)のみがアンロードされます。これによって、表領域データ・ファイルを別のOracleデータベースにコピーし、トランスポータブル表領域インポートを使用して、データベースに取り込むことができます。このモードには、EXP_FULL_DATABASEロールが必要です。

表領域モードとは異なり、トランスポータブル表領域モードでは、指定した表がすべてその表領域に含まれている必要があります。ダンプ・ファイル・セットに含まれるすべての表のパーティションも、そのファイル・セット内に存在する必要があります。

トランスポータブル表領域エクスポートは、停止すると再開できません。また、トランスポータブル表領域エクスポートには、1を超える並列度は指定できません。


注意:

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


参照:

「TRANSPORT_TABLESPACES」 

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

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

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

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

接続識別子を使用したExportユーティリティの起動と、Exportコマンドライン・パラメータNETWORK_LINKを使用したエクスポート操作を混同しないでください。コマンドライン・パラメータを使用した方法では、データベース・リンクを介してエクスポートが起動されます。この場合、ローカルのエクスポート・クライアントは、コマンドライン接続文字列によって指定されるデータベース・インスタンスに接続し、データベース・リンクによって指定されるデータベース・インスタンスからエクスポートするデータを取得して、接続したデータベース・インスタンスのダンプ・ファイル・セットにそのデータを書き込みます。

参照:

  • 「NETWORK_LINK」

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

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

 

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

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

データ・フィルタ

データ固有のフィルタ処理は、QUERYおよびSAMPLEパラメータによって実装されます。このパラメータは、表のエクスポートされる行に対する制限を指定します。

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

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

メタデータ・フィルタ

メタデータのフィルタ処理は、EXCLUDEおよびINCLUDEパラメータによって実装されます。EXCLUDEおよびINCLUDEは、相互に排他的なパラメータです。

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

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

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

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

DATABASE_EXPORT_OBJECTSSCHEMA_EXPORT_OBJECTSTABLE_EXPORT_OBJECTSビューに対して問合せを実行し、フィルタ処理されるオブジェクトを確認できます。たとえば、次の問合せを実行できます。

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

参照:

「EXCLUDE」 および「INCLUDE」 

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

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

エクスポート・パラメータの使用例

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

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

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

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

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

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

参照:

 


注意:

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


ATTACH

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

用途

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

構文および説明

ATTACH [=[schema_name.]job_name]

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

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

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

制限事項

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

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

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

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

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

> expdp hr/hr ATTACH=hr.export_job

参照:

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

COMPRESSION

デフォルト: METADATA_ONLY

用途

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

構文および説明

COMPRESSION=(METADATA_ONLY | NONE)

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

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

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

CONTENT

デフォルト: ALL

用途

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

構文および説明

CONTENT={ALL | DATA_ONLY | METADATA_ONLY}

制限事項

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

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

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

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

DIRECTORY

デフォルト: DATA_PUMP_DIR

用途

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

構文および説明

DIRECTORY=directory_object

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

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

例1

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

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

ダンプ・ファイルemployees.dmpは、ディレクトリ・オブジェクトdpump_dir1に対応付けられたパスに書き込まれます。

参照:

 

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というように変換されます。

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

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

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

制限事項

結果として生成されるファイル名と一致するファイルがすでに存在する場合は、エラーとなります。既存のダンプ・ファイルは上書きされません。

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

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

ダンプ・ファイルexp1.dmpは、ディレクトリ・オブジェクトdpump_dir2に対応するパスに書き込まれます。これは、dpump_dir2が、ダンプ・ファイル名の一部として指定されたことによって、DIRECTORYパラメータで指定されたディレクトリ・オブジェクトよりも優先されるためです。このジョブでは、3つのパラレル処理がすべて実行されるため、ダンプ・ファイルexp201.dmpおよびexp202.dmpが作成され、DIRECTORYパラメータで指定されたディレクトリ・オブジェクトdpump_dir1に対応するパスに書き込まれます。

参照:

 

ENCRYPTION_PASSWORD

デフォルト: なし

用途

エクスポート・ダンプ・ファイル内の暗号化列のデータを暗号化するキーを指定します。

構文および説明

ENCRYPTION_PASSWORD = password

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

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


注意:

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

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

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


制限事項

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

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

ENCRYPTION_PASSWORDパラメータは、透過的データ暗号化機能で使用する暗号化列をエクスポートする場合にのみ使用します。

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

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

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

expdp hr/hr TABLES=employee_s_encrypt DIRECTORY=dpump_dir DUMPFILE=dpcd2be1.dmp 
ENCRYPTION_PASSWORD=123456

employee_s_encrypt表の暗号化列は、dpcd2be1.dmpダンプ・ファイルにクリア・テキストとして書き込まれません。この例で作成されたdpcd2be1.dmpファイルを後でインポートするには、同じ暗号化パスワードを指定する必要があることに注意してください。(ENCRYPTION_PASSWORDパラメータを使用したインポート操作の例は、「ENCRYPTION_PASSWORD」を参照してください。)

ESTIMATE

デフォルト: BLOCKS

用途

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

構文および説明

ESTIMATE={BLOCKS | STATISTICS}

制限事項

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

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

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

ESTIMATE_ONLY

デフォルト: n

用途

Exportユーティリティで、ジョブが消費する領域を実際のエクスポート操作を行わずに見積もります。

構文および説明

ESTIMATE_ONLY={y | n}

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

次に、ESTIMATE_ONLYパラメータを使用して、HRスキーマが使用するエクスポート領域の大きさを判断する場合の例を示します。

> expdp hr/hr ESTIMATE_ONLY=y NOLOGFILE=y

EXCLUDE

デフォルト: なし

用途

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

構文および説明

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

EXCLUDE文に指定したオブジェクト型を除き、実行されるエクスポート・モードに対応するすべてのオブジェクト型が、エクスポート操作の対象になります。オブジェクトが除外されると、そのオブジェクトのすべての依存オブジェクトも除外されます。たとえば、表を除外すると、その表のすべての索引およびトリガーも除外されます。

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

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

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

エスケープ文字をコマンドラインで使用する必要がないように、EXCLUDE句は、パラメータ・ファイルで指定することをお薦めします。

参照:

 

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

制約の除外

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

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

権限とユーザーの除外

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

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

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

EXCLUDE=SCHEMA:"='HR'"

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

制限事項

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

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

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

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

参照:

 

FILESIZE

デフォルト: 0(無制限)

用途

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

構文および説明

FILESIZE=integer[B | K | M | G]

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

制限事項

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

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

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

3MBでもすべてのエクスポート・データを保持するのに十分でなかった場合、次のエラーが表示され、ジョブは中止されます。

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

割り当てることができなかった実際のバイト数は、場合によって異なります。また、この数字は、エクスポート操作全体を完了するために必要な容量を表しているわけではありません。この値は、ダンプ・ファイル領域がなくなった時点でエクスポート中だったオブジェクトのサイズのみを示しています。

この状況は、中止されたジョブに接続し、ADD_FILEコマンドを使用してファイルを1つ以上追加し、操作をやり直すことで解消できます。

FLASHBACK_SCN

デフォルト: なし

用途

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

構文および説明

FLASHBACK_SCN=scn_value

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

制限事項

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

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

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

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


注意:

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


FLASHBACK_TIME

デフォルト: なし

用途

指定された時刻に最も近いSCNを検出し、このSCNを使用してFlashbackユーティリティを使用可能にします。エクスポート操作は、このSCNにおけるデータの一貫性を維持したまま実行されます。

構文および説明

FLASHBACK_TIME="TO_TIMESTAMP(time-value)"

TO_TIMESTAMPの値は引用符で囲まれるため、パラメータ・ファイルに記述することをお薦めします。コマンドラインの場合は、引用符の前にエスケープ文字を入力する必要があります。詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。

制限事項

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

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

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

DIRECTORY=dpump_dir1
DUMPFILE=hr_time.dmp
FLASHBACK_TIME="TO_TIMESTAMP('25-08-2003 14:35:00', 'DD-MM-YYYY HH24:MI:SS')"

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

> expdp hr/hr PARFILE=flashback.par

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


注意:

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


参照:

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

FULL

デフォルト: n

用途

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

構文および説明

FULL={y | n}

FULL=yと指定すると、すべてのデータおよびメタデータがエクスポートされます。このエクスポート・モードを使用したエクスポート対象を、フィルタ処理によって制限できます。詳細は、「エクスポート操作中のフィルタ処理」を参照してください。

全体エクスポートを実行するには、EXP_FULL_DATABASEロールが必要です。

制限事項

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

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

HELP

デフォルト: N

用途

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

構文および説明

HELP = {y | n}

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

> expdp HELP = y

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

INCLUDE

デフォルト: なし

用途

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

構文および説明

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

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

DATABASE_EXPORT_OBJECTSSCHEMA_EXPORT_OBJECTSTABLE_EXPORT_OBJECTSビューを問い合せて、INCLUDEパラメータで使用する有効なオブジェクト型のパス名の一覧を表示できます。

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

INCLUDE文は、パラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルで指定しない場合、コマンドラインで引用符の前にオペレーティング・システム固有のエスケープ文字を記述することが必要な場合があります。詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。

たとえば、次の内容のパラメータ・ファイル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ファイルを使用してエクスポート操作を開始することができます。

> expdp hr/hr parfile=hr.par

制限事項

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

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

JOB_NAME

デフォルト: SYS_EXPORT_<mode>_NNという書式のシステム生成による名前

用途

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

構文および説明

JOB_NAME=jobname_string

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

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

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

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

LOGFILE

デフォルト: export.log

用途

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

構文および説明

LOGFILE=[directory_object:]file_name

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

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

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

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

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

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

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


注意:

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


参照:

「STATUS」 

NETWORK_LINK

デフォルト: なし

用途

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

構文および説明

NETWORK_LINK=source_database_link

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

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

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

制限事項

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

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

次に、NETWORK_LINKパラメータの使用例を示します。source_database_linkには、すでに存在する有効なデータベース・リンク名を指定します。

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

NOLOGFILE

デフォルト: n

用途

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

構文および説明

NOLOGFILE={y | n}

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

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

> expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp NOLOGFILE=y

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

PARALLEL

デフォルト: 1

用途

エクスポート・ジョブにかわり、アクティブな実行スレッドの最大数を指定します。この実行セットはワーカー・プロセスおよびパラレルI/Oサーバーの処理の組合せで構成されています。パラレル問合せ操作で問合せコーディネータとして動作するマスター制御プロセスおよびワーカー・プロセスは、この合計数には加算されません。

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

構文および説明

PARALLEL=integer

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

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

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

参照:

「リソース消費の制御」 

制限事項

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

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

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

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

参照:

 

PARFILE

デフォルト: なし

用途

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

構文および説明

PARFILE=[directory_path]file_name

Oracleデータベースによって作成され、書き込まれるダンプ・ファイルやログ・ファイルとは異なり、パラメータ・ファイルは、expdpイメージを実行しているクライアントによってオープンされ、読み込まれます。したがって、ディレクトリ・オブジェクトの名前は不要かつ不適切です。ディレクトリ・パスは、オペレーティング・システム固有のディレクトリ指定です。デフォルトは、ユーザーの現行のディレクトリです。

値の指定に引用符が必要なパラメータを使用する場合は、パラメータ・ファイルを使用することをお薦めします。詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。

制限事項

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

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

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

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

> expdp hr/hr parfile=hr.par

QUERY

デフォルト: なし

用途

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

構文および説明

QUERY = [schema.][table_name:] query_clause

通常、query_clauseでは、ファイングレイン行選択のためのWHERE句を使用しますが、任意のSQL句を使用できます。たとえば、ORDER BY句を使用すると、ヒープ構成表から索引構成表への移行を高速化できます。[schema.]table_nameを指定しなかった場合は、エクスポート・ジョブ内のすべての表に問合せが適用されます(この場合、問合せは、これらのすべての表に対して有効である必要があります)。表固有の問合せは、すべての表に適用される問合せより優先されます。

特定の表に問合せを適用する場合は、表名と問合せ句をコロンで区切る必要があります。表固有の問合せは複数指定できますが、1つの表に指定できるのは1つの問合せのみです。QUERY文は、パラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルで指定しない場合、コマンドラインで各引用符の前にオペレーティング・システム固有のエスケープ文字を記述することが必要な場合があります。詳細は、「Data Pumpコマンドラインでの引用符の使用」を参照してください。

問合せは一重引用符または二重引用符で囲みます。

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

制限事項

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

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

> expdp hr/hr parfile=emp_query.par

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

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

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

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値が適用されます。

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

制限事項

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

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

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

SCHEMAS

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

用途

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

構文および説明

SCHEMAS=schema_name [, ...]

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

制限事項

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

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

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

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

STATUS

デフォルト: 0

用途

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

構文および説明

STATUS=[integer]

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

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

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

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

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

TABLES

デフォルト: なし

用途

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

構文および説明

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

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

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

ワイルド・カードは、エクスポート操作ごとに1つの表名に対して使用できます。たとえば、TABLES=emp%とした場合、EMPで始まる名前の表がすべてエクスポートされます。

制限事項

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

表で使用される型は、表モードではエクスポートされません。後でダンプ・ファイルをインポートするときにインポート先のデータベースに型が存在しない場合、表の作成は正常に実行されません。

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

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

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

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

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

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

> expdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=tables_part.dmp TABLES=sh.sales:sales_Q1_
2000,sh.sales:sales_Q2_2000

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

TABLESPACES

デフォルト: なし

用途

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

構文および説明

TABLESPACES=tablespace_name [, ...]

表領域モードでは、指定した表領域内に存在する表のみがアンロードされます。表がアンロードされると、その表の依存オブジェクトもアンロードされます。指定した表領域内に表の一部が存在する場合、その表とその表のすべての依存オブジェクトがエクスポートされます。このモードを使用したエクスポート対象を、フィルタ処理によって制限できます(詳細は、「エクスポート操作中のフィルタ処理」を参照してください)。

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

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

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

TRANSPORT_FULL_CHECK

デフォルト: n

用途

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

構文および説明

TRANSPORT_FULL_CHECK={y | n}

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

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

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

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

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

TRANSPORT_TABLESPACES

デフォルト: なし

用途

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

構文および説明

TRANSPORT_TABLESPACES=tablespace_name [, ...]

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


注意:

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


制限事項

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

トランスポータブル・ジョブは、並列度1に制限されます。

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

例1

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

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

参照:

 

VERSION

デフォルト: COMPATIBLE

用途

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

構文および説明

VERSION={COMPATIBLE | LATEST | version_string}

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

指定したバージョンと互換性のないデータベース・オブジェクトまたは属性は、エクスポートされません。たとえば、指定したバージョンではサポートされていない新しいデータ型を含む表はエクスポートされません。

参照:

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

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

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

オリジナルのエクスポート・ユーティリティのパラメータへのData Pump Exportパラメータのマップ方法

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

表2-1    オリジナルのエクスポート・パラメータと、それらに対応するData Pump Exportのパラメータ 
オリジナルのエクスポート・パラメータ  対応するData Pump Exportパラメータ  
BUFFER
 

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

COMPRESS
 

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

CONSISTENT
 

CONSISTENTに相当するパラメータは不要になりました。この機能には、FLASHBACK_SCNおよびFLASHBACK_TIMEを使用します。 

CONSTRAINTS
 

EXCLUDE=CONSTRAINT 

DIRECT 
 

DIRECTに相当するパラメータは不要になりました。Data Pump Exportユーティリティでは、最適な方法(ダイレクト・パス・モードまたは外部表モード)が自動的に選択されます。 

FEEDBACK
 

STATUS 

FILE
 

DUMPFILE 

FILESIZE
 

FILESIZE 

FLASHBACK_SCN
 

FLASHBACK_SCN 

FLASHBACK_TIME
 

FLASHBACK_TIME 

FULL
 

FULL 

GRANTS
 

EXCLUDE=GRANT 

HELP
 

HELP 

INDEXES
 

EXCLUDE=INDEX 

LOG
 

LOGFILE 

OBJECT_CONSISTENT
 

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

OWNER
 

SCHEMAS 

PARFILE
 

PARFILE 

QUERY
 

QUERY 

RECORDLENGTH
 

サイズ指定が自動的に行われるため、RECORDLENGTHに相当するパラメータは不要になりました。 

RESUMABLE
 

RESUMABLEに相当するパラメータは不要になりました。この機能は、特権ユーザーに自動的に提供されます。 

RESUMABLE_NAME
 

RESUMABLE_NAMEに相当するパラメータは不要になりました。この機能は、特権ユーザーに自動的に提供されます。 

RESUMABLE_TIMEOUT
 

RESUMABLE_TIMEOUTに相当するパラメータは不要になりました。この機能は、特権ユーザーに自動的に提供されます。 

ROWS=N
 

CONTENT=METADATA_ONLY 

ROWS=Y
 

CONTENT=ALL 

STATISTICS
 

STATISTICSに相当するパラメータは不要になりました。統計は、常に表に保存されます。 

TABLES
 

TABLES 

TABLESPACES
 

TABLESPACES(同じパラメータですが、動作が多少異なります。) 

TRANSPORT_TABLESPACE
 

TRANSPORT_TABLESPACES(同じパラメータですが、動作が多少異なります。) 

TRIGGERS
 

EXCLUDE=TRIGGER 

TTS_FULL_CHECK
 

TRANSPORT_FULL_CHECK 

USERID
 

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

VOLSIZE
 

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

この表に示されていないData Pump Exportのコマンドライン・パラメータもあります。Exportのすべてのコマンドライン・パラメータの一覧は、「Exportユーティリティのコマンドライン・モードで使用可能なパラメータ」を参照してください。

参照:

オリジナルのエクスポート・ユーティリティの詳細は、第19章「オリジナルのエクスポートおよびインポート」を参照してください。 

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

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


注意:

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


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

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

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

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

「ADD_FILE」 

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

「CONTINUE_CLIENT」 

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

「EXIT_CLIENT」 

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

「FILESIZE」 

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

「HELP」 

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

「KILL_JOB」 

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

「PARALLEL」 

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

「START_JOB」 

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

「STATUS」 

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

「STOP_JOB」 

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

ADD_FILE

用途

エクスポート・ダンプ・ファイル・セットに、追加ファイルまたはワイルドカード・ファイルのテンプレートを追加します。

構文および説明

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

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

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

参照:

置換変数を指定した場合の効果の詳細は、「ファイルの割当て」を参照してください。 

制限事項

ADD_FILE対話方式コマンドを使用する場合は、そのジョブのDIRECTORYパラメータを、パラメータ・ファイルではなくコマンドラインで指定することをお薦めします。

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

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

CONTINUE_CLIENT

用途

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

構文および説明

CONTINUE_CLIENT

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

Export> CONTINUE_CLIENT

EXIT_CLIENT

用途

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

構文および説明

EXIT_CLIENT

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

Export> EXIT_CLIENT

FILESIZE

用途

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

構文および説明

FILESIZE=number

ファイル・サイズの後に、BKMまたはGを指定して、それぞれバイト、キロバイト、メガバイト、ギガバイトを示すことができます。デフォルトは、Bです。

ファイル・サイズ0は、新しいダンプ・ファイルに対してサイズ制限がないことを示します。ファイルは、そのファイルを含むデバイスの限界に到達するまで、必要に応じて大きくなります。

Export> FILESIZE=100M

HELP

用途

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

構文および説明

HELP

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

Export> HELP

KILL_JOB

用途

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

構文および説明

KILL_JOB

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

Export> KILL_JOB

PARALLEL

用途

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

構文および説明

PARALLEL=integer

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

参照:

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

PARALLEL=10

START_JOB

用途

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

構文および説明

START_JOB

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

トランスポータブル表領域モード・エクスポートは再開できません。

Export> START_JOB

STATUS

用途

現行の操作の説明とともにジョブの状態を累積的に表示します。ジョブの推定完了率も返されます。ロギング・モードの状態を表示する間隔を再設定することもできます。

構文および説明

STATUS[=integer]

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

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

次に、現行のジョブの状態を表示し、ロギング・モードの表示間隔を5分(300秒)に変更する例を示します。

Export> STATUS=300

STOP_JOB

用途

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

構文および説明

STOP_JOB[=IMMEDIATE]

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

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

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

Export> STOP_JOB=IMMEDIATE

Data Pump Exportの使用例

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

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

表モード・エクスポートの実行

例2-1に、TABLESパラメータを使用して、表モード・エクスポートを指定する例を示します。人事管理(hr)スキーマから、表employeesおよびjobsの表エクスポートを実行するには、次のData Pump Exportコマンドを発行します。

例2-1    表モード・エクスポートの実行

expdp hr/hr TABLES=employees,jobs DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y

ユーザーhrは、自分のスキーマ内の表をエクスポートしているため、表名の前にスキーマ名を指定する必要はありません。NOLOGFILE=yパラメータは、その操作のExport ログ・ファイルが生成されないことを示します。

選択した表および行のデータのみのアンロード

例2-2に、人事管理(hr)スキーマから、表countriesおよびregionsを除くすべての表のデータのみをアンロードするために使用するパラメータ・ファイル(exp.par)の内容を示します。employees表から、department_idが50以外の行がアンロードされます。行は、employee_id順にソートされます。

例2-2    選択した表および行のデータのみのアンロード

DIRECTORY=dpump_dir1
DUMPFILE=dataonly.dmp
CONTENT=DATA_ONLY
EXCLUDE=TABLE:"IN ('COUNTRIES', 'REGIONS')"
QUERY=employees:"WHERE department_id !=50 ORDER BY employee_id"

次のコマンドを使用して、exp.parパラメータ・ファイルを実行できます。

> expdp hr/hr PARFILE=exp.par

スキーマ・モード・エクスポート(デフォルト・モード)が実行されますが、CONTENTパラメータによって、エクスポートが表のデータのみのアンロードに効果的に制限されます。ディレクトリ・オブジェクトdpump_dir1は、DBAによってすでに作成されています。このオブジェクトは、エクスポート・ダンプ・ファイルに対する読取りおよび書込み権限がユーザーhrに付与されているサーバー上のディレクトリを示しています。ダンプ・ファイルdataonly.dmpは、dpump_dir1に作成されます。

表モード・エクスポートに必要なディスク領域の見積り

例2-3に、表モード・エクスポートで使用される領域を、ESTIMATE_ONLYパラメータを使用して、実際のエクスポート操作を実行しないで見積もる場合の例を示します。次のコマンドを実行し、BLOCKSメソッドを使用して、人事管理(hr)スキーマの3つの表employeesdepartmentsおよびlocationsのデータのエクスポートに必要なバイト数を見積もります。

例2-3    表モード・エクスポートに必要なディスク領域の見積り

> expdp hr/hr DIRECTORY=dpump_dir1 ESTIMATE_ONLY=y TABLES=employees, 
departments, locations LOGFILE=estimate.log

見積りはログ・ファイルに出力され、クライアントの標準出力デバイスに表示されます。見積りの対象は、表の行データのみです。メタデータは含まれません。

スキーマ・モード・エクスポートの実行

例2-4に、hrスキーマのスキーマ・モード・エクスポートを示します。スキーマ・モード・エクスポートでは、対応するスキーマに属するオブジェクトのみがアンロードされます。スキーマ・モードは、デフォルトのモードであるため、複数のスキーマや自分のスキーマ以外を指定する場合以外、コマンドラインでSCHEMASパラメータを指定する必要はありません。

例2-4    スキーマ・モード・エクスポートの実行

> expdp hr/hr DUMPFILE=dpump_dir1:expschema.dmp LOGFILE=dpump_dir1:expschema.log

パラレル全データベース・エクスポートの実行

例2-5に、3つのパラレル・ワーカー・プロセスを持つ全データベース・エクスポートを示します。

例2-5    パラレル全体エクスポート

> expdp hr/hr FULL=y 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ディレクトリ・オブジェクトで示されたディレクトリに、ラウンドロビン法で作成されます。最適なパフォーマンスを得るには、これらのファイルを個別のI/Oチャネルに配置する必要があります。各ファイルのサイズは、必要に応じて2GBまで拡張されます。最初に、最大3つのファイルが作成されます。必要に応じて、追加のファイルが作成されます。ジョブおよびマスター表は、expfullという名前になります。ログ・ファイルは、dpump_dir1ディレクトリのexpfull.logに書き込まれます。

対話方式モードを使用したジョブの停止および再接続

この例を試す前に、例2-5のパラレル全体エクスポートを再実行します。エクスポートの実行中、[Ctrl]を押しながら[C]を押します。これによって、Data Pump Exportの対話方式コマンド・インタフェースを起動します。対話方式インタフェースでは、端末へのロギングは停止され、Data Pump Exportのプロンプトが表示されます。

例2-6    ジョブの停止と再接続

エクスポート・プロンプトで、次のコマンドを実行してジョブを停止します。

Export> STOP_JOB=IMMEDIATE
Are you sure you wish to stop this job ([y]/n): y

このジョブは停止状態でクライアントを終了します。

停止したジョブに再接続するには、次のコマンドを入力します。

> expdp hr/hr ATTACH=EXPFULL

ジョブの状態が表示された後、CONTINUE_CLIENT コマンドを実行して、ロギング・モードを再開し、expfullジョブを再起動できます。

Export> CONTINUE_CLIENT

ジョブが再オープンされたことを示すメッセージが表示され、処理の状態がクライアントに出力されます。

Data Pump Exportの構文図

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

ExpInit


画像の説明

ExpStart


画像の説明

ExpModes


画像の説明

ExpOpts


画像の説明

ExpFileOpts


画像の説明

ExpDynOpts


画像の説明


戻る 次へ
Oracle
Copyright © 2005 Oracle Corporation.

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