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

Oracle専用の メモリ領域

ドキュメント内 スライド 1 (ページ 47-60)

①エクスポートの実行

③データをディスクからバッファ・

キャッシュへ読み込み

④行はクライアント・プロセ スにある評価バッファに転送

します

SELECT

文発行

⑤式の評価が終了する と、エクスポート・ファイ ルに書き出さます 評価バッファ

従来型とダイレクト・パス・ロードの違い

ダイレクト・パス・ロードによるエクスポート

Oracle専用の

メモリ領域

①エクスポートの実行

②データをディスクからバッファ・

キャッシュへ読み込み

③評価バッファをバイパス し、エクスポートファイルに 書き出されます

評価バッファをバイパスするため、

従来型パス・エクスポートに比べ 非常に高速です

評価バッファ

Import

Import Utility

IMP impコマンドで起動するオリジナルインポート・ユーティリティ

COMMAND > imp scott/tiger tables=emp,dept

IMP

では、

EXP

で使用できたパラメータのほとんどを利用することができます

IMP

でパラメータを指定することにより、

EXP

で作成したダンプファイルからさらに対象データを 絞りこんでインポートすることが可能です

ダンプファイルからemp表とdept表のみを インポート

COMMAND > imp scott/tiger owner=wendy

ダンプファイルからwendyユーザーのオブ ジェクトをインポート

オブジェクト作成エラー処理

IGNORE=y に指定すると、データベース・オブジェクトの作成時に

作成エラーが発生しても、このエラーは無視され、エラーはレポー トされずに継続します

COMMAND > IMP scott/tiger FILE=exp.dmp IGNORE=y IGNORE

デフォルトはIGNORE=n

表がすでに存在する場合

IGNORE=y

を指定すると、行は既存の表にインポートされます(エラー/メッセージは出力なし)

IGNORE=nを指定すると、エラーがレポートされ、表は行が挿入されないまま

スキップされます。また、表に依存するオブジェクトは作成されません。

Data Pump とは

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

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

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

利用方法

• expdp/impdpコマンド

• Oracle Enterprise Manager

• DBMS_DATAPUMP PL/SQL パッケージ

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

Data Pump 利点

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

• インポート:オリジナルの Import に比べて 15 ~ 40 倍高速 ダイレクトパス API の改善による処理速度向上

Oracle Data Pump

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

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

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

によって小さなジョブは遅くなりますが、大量のデータを高速に

処理することは、中・大規模なジョブにとって大きなメリットとなり

ます。

パフォーマンス検証

検証環境

Sun Enterprise 3000 400MHz * 4CPU 4GB Memory

索引の張られていないテーブル(53partitions21,000,000rows)

を用いてData Pumpを使ったエクスポート・インポートと従来の ものとを比較する作成されるダンプファイルは1.15GB

750.418

136.457

74.708

55.193 0

200 400 600 800

imp impdp impdp(2p) impdp(4p)

従来型インポートと Data Pump インポートの処理時間比較

443.483

80.005 49.664 51.269

0 200 400 600 800

exp expdp expdp(2p) expdp(4p)

従来型エクスポートと Data Pump エクスポートの処理時間比較

従来エクスポートに比べ、Data Pump は2パラレルで

9 分の 1

の処理時間!!

従来インポートに比べ、Data Pump は4パラレルで

13 分の 1

の処理時間!!

検証内容

検証結果

Data Pump – 出力先ディレクトリ指定

• Data Pump

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

トリ位置が特定されている必要があります

ダンプファイルを出力するディレクトリに対して

DB

上でディレクトリオブジェクトを作成し、実行時に はディレクトリオブジェクトを

DIRECTORY

パラメータで指定します

パラメータでディレクトリを指定していない場合、

OS

環境変数「

DATA_PUMP_DIR

」、なければ ディレ クトリオブジェクト「

DATA_PUMP_DIR

」が参照されます

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

権限付与

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

環境変数の設定

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 によるデータの移動方法

• 従来型パスを使用したデータ移動

• ダイレクト・パスを使用したデータ移動

• 外部表を使用したデータ移動

• データ・ファイル・コピーを使用したデータ移動 (Transportable Tablespace)

• ネットワーク・リンク・インポートを使用したデータ移動

– NETWORK_LINK

インポート・パラメータ

注意

:

データ・ポンプでは、無効な一意索引を持つ表は、ロードされません

データを表にロードするには、その索引を削除するかまたは再度有効にする必要があります

フィルタ処理

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

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

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

エクスポートの対象オブジェクトをINCLUDEパラメータで指定します

COMMAND > expdp scott/tiger include=table

エクスポートの対象から除外するオブジェクトをEXCLUDEパラメータで指定します

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

LIKEやINを指定

することも可能

COMMAND > expdp scott/tiger include=index

INCLUDE / EXCLUDE

※ INCLUDE

EXCLUDE

パラメータは排他的で、同時に指定できません

フィルタ処理

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

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

例:職種が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

QUERY / SAMPLE

ファイルサイズ

各ダンプ・ファイルがそのサイズを上限とし、置換変数(%U)を持つ テンプレートを指定していてダンプ・ファイルを分割します

サイズが

3MB

のダンプ・ファイルを設定する

COMMAND > 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 FILESIZE

ファイル指定に置換変数が含まれている場合は、新しいファイルが作成されます

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

キロバイト(KB)、メガバイト(MB)、ギガバイト

(GB)

を付けて指定する事もできます

フラッシュバック・モード

指定したSCNもしくは時刻における一貫性を維 持したデータのエクスポートが可能です

あるSCNにおける一貫性を維持したデータをエクスポートするために

FLASHBACK_SCNパラメータを指定します

COMMAND > expdp scott/tiger flashback_scn=364909

SCN指定

ドキュメント内 スライド 1 (ページ 47-60)

関連したドキュメント