• 検索結果がありません。

• Oracle Database10g から導入されたユーティリティです

• Data Pump テクノロジを使用すると、

データおよびメタデータをデータベース間で非常に高速に 移動できます

利用方法

• expdp/impdp コマンド

• Oracle Enterprise Manager

• DBMS_Data Pump PL/SQL パッケージ

• その他、外部表などのエンジンとして内部利用

Data Pump

Data Pump のここがすごい !

ダイレクトパス API の改善による処理速度向上

• エクスポート:オリジナルの Export に比べて 2 倍高速

• インポート:オリジナルの Import に比べて 15 ~ 40 倍高速

Data Pump

を使用したら 速くなった!

Data Pump

は、大量データを扱う大きなジョブ向き!

Data Pump では、マスター表を作成するためのオーバー

ヘッドによって小さなジョブは遅くなりますが、大量のデー タを高速に処理することは、中・大規模なジョブにとって 大きなメリットとなります!

Data Pump

Export/Import – 出力先ディレクトリの指定

• Data Pump

ではクライアントではなくサーバーにより書き込みが行われるため、

処理を行うディレクトリ位置が特定されている必要があります

ダンプファイルを出力するディレクトリに対して、DB上でディレクトリオブジェクトを作成 します実行時には、ディレクトリオブジェクトを

DIRECTORY

パラメータで指定します

パラメータでディレクトリを指定していない場合、OS環境変数「DATA_PUMP_DIR」、

なければ ディレクトリオブジェクト「DATA_PUMP_DIR」が参照されます

Data Pump

SQL > CREATE DIRECTORY DPUMP_DIR1 AS ‘/home/oracle/oradata/dpump_dir’;

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

COMMAND > expdp scott/tiger tables=emp,dept directory=dpump_dir1

権限付与

ディレクトリオブジェクト作成

環境変数の設定 COMMAND > set DATA_PUMP_DIR=DPUMP_DIR1; export DATA_PUMP_DIR

COMMAND > expdp scott/tiger schemas=scott

Tips

• Oracle RAC

構成で

Data Pump

または外部表を使用するには、ディレクトリ・

オブジェクトのパスが

クラスタ・ファイル・システム上に存在するようにする必要があります

この目的で使用できる共有ストレージが構成内にない場合にも並列処理 が必要であれば、

CLUSTER=no

パラメータを使用して、すべてのワー カー・プロセスを、Data Pumpジョブが開始されたインスタンスのみに置く ことができます

• ASM

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

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

ログ・ファイル用の個別のディレクトリ・オブジェクトの作成

SQL> CREATE or REPLACE DIRECTORY dpump_log as

'/homedir/user1/‘;

使用例

> expdp hr DIRECTORY=dpump_dir DUMPFILE=hr.dmp

Data Pump

Export – Data Pump –

オリジナルの

export

と同様の操作性をもった エクスポートユーティリティ

モード 機能説明 パラメータ

フル データベース全体のエクスポート

FULL=y

スキーマ 指定したスキーマ全体のエクスポート

SCHEMAS=schema[, …]

テーブル 指定したテーブル全体のエクスポート

TABLES=table[, …]

テーブルスペース 指定したテーブルスペース全体のエク スポート

TABLESPACES=tablespace[, …]

expdp

で利用可能なモード

1: > expdp scott/tiger full=y

2: > expdp scott/tiger dumpfile=exp.dmp tables=emp,dept

フルモード

テーブルモード

Export Utility

expdp

Data Pump

フィルタ処理を行います

エクスポートの対象から除外するオブジェクトを

EXCLUDE

パラメータで指定します

COMMAND > expdp scott/tiger exclude=index:¥”LIKE ¥’EMP%¥’¥”

LIKE

IN

を指定す ることも可能です

※空白等を区切り文字にしないためにダブルクオーテーションが

必要ですが、

OS

によってはエスケープ文字が必要となります従っ て、通常はパラメータを記述したファイルを読み込ませると便利で

COMMAND > expdp scott/tiger include=index

フィルタ処理を行い、エクスポートの対象となるオブジェクトを 細かく設定することができます

INCLUDE / EXCLUDE

Data Pump

エクスポートの対象オブジェクトを

INCLUDE

パラメータで指定します

COMMAND > expdp scott/tiger include=table

データのフィルタ処理を行います Data Pump

フィルタ処理を行い、エクスポートの対象となるデータを細かく設定 することができます

エクスポート対象表のセットから行のサブセットを選択できます

例:職種が

SALESMAN

で、給与が

1600

より少ない従業員のみをエクスポートする場合

COMMAND > expdp scott/tiger TABLES=emp QUERY=¥"WHERE job=¥'SALESMAN¥' and sal ¥<1600¥"

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

:SCOTT

EMP

表の

50%

がエクスポートされます

COMMAND > expdp scott/tiger tables=emp SAMPLE=“SCOTT"."EMP":50

関連したドキュメント