#目次
1.本記事の概要
2.ダンプ・ファイル分割エクスポートのコマンド例
3.分割エクスポートの使用場面例
4.分割エクスポートの注意点
#1.本記事の概要
本記事では、Oracle Data Pump(※1)のエクスポートコマンドに用意されているFILESIZEパラメータを使用し、指定したファイルサイズでダンプファイルを分割エクスポートする際の注意点について記載する。
※1:Oracle Data Pumpとはデータおよびメタデータをデータベース間で高速に移動するための、Oracle標準ユーティリティである。Data Pumpに関する詳しい仕様は下記をご参照。
・Oracle公式ドキュメント(Oracle 12c)
#2.ダンプ・ファイル分割エクスポートのコマンド例
エクスポート操作では、ファイル名に置換変数(%U)を使用してDUMPFILEパラメータで複数のダンプ・ファイルをエクスポートすることが可能。ダンプ・ファイルは、%Uに対応して01から02、03と連番で作成されていく。
サンプルコマンドは下記の通り。
EXPDP scott/tiger@TESTDB DIRECTORY=DATA_PUMP_DIR
DUMPFILE=EXP_%U.DMP LOGFILE=EXP.LOG
FILESIZE=20GB SCHEMAS=hr
例えば、上記コマンドで100GBのスキーマをエクスポートした場合、下記(1)→(2)→(3)→(4)→(5)の順で20GB毎の5つのダンプ・ファイルが作成される。
(1)EXP_01.DMP
(2)EXP_02.DMP
(3)EXP_03.DMP
(4)EXP_04.DMP
(5)EXP_05.DMP
#3.分割エクスポートの使用場面例
ダンプ・ファイルの分割エクスポートを使用するシチュエーションとして、ダンプ・ファイル出力後に他サーバや外部記憶媒体等にコピーする場面が考えられる。
その場合、例えば100GBのエクスポートに100分要するならば、コピーを開始できるのは最短で100分後からである。
しかし、100GBをいくつかのダンプ・ファイルに分割してエクスポートすれば、出力が完了したダンプ・ファイルから順次コピー処理を開始でき、作業時間の短縮を図ることができる。
#4.分割エクスポートの注意点
「3.分割エクスポートの使用場面例」において、エクスポートしたダンプ・ファイルを順次コピーする例を挙げたが、このコピーするタイミングに関して注意しなければならないことがある。
ダンプ・ファイルを分割してエクスポートする際、エクスポートされる最初のファイルと最後のファイルはエクスポート処理全体に関する管理情報を保持している。よって、全ダンプ・ファイルのエクスポートが完了するまで最初に作成されたダンプ・ファイルをコピーしてはならない。
つまり、上記100GBエクスポートの例の場合、ダンプ・ファイル(2)→(3)→(4)はファイルが作成された時点からコピー可能であるが、(1)は全てのエクスポート処理が完了した後初めてコピーが可能となる。(1)が出力された時点でコピーしてしまうとエクスポート処理に関する管理情報が不足し、壊れたダンプ・ファイルとなってしまう。その結果、取得したダンプ・ファイルのインポート処理が正常に行えなくなってしまう。
※ここに示された意見は私個人の見解であり、所属する組織の公式見解を代表するものではありません。
また、記載した技術的内容・見解については、ご自身の責任でご判断下さい。