【Oracle】Data Pumpでエクスポート時に圧縮する方法|compression=allの使い方

【Oracle】Data Pumpでエクスポート時に圧縮する方法|compression=allの使い方 Oracle

OracleのData Pump(expdp)では、エクスポート時に出力されるダンプファイルを圧縮することで、ストレージの節約や転送時間の短縮が可能です。特にcompression=allオプションを使えば、メタデータとデータの両方を圧縮することができます。本記事では、Data Pumpでの圧縮の仕組みとcompressionパラメータの使い方を解説します。

compressionパラメータとは?

compressionは、Data Pumpエクスポート時に出力される内容の圧縮方法を指定するためのパラメータです。Oracle 11g以降で使用可能で、Enterprise EditionとAdvanced Compressionオプションを組み合わせることでより強力に活用できます。

主な指定値

圧縮対象
none 圧縮しない(デフォルト)
metadata_only メタデータのみ圧縮(標準ライセンスで使用可能)
data_only データのみ圧縮(Advanced Compressionが必要)
all メタデータ+データを圧縮(Advanced Compressionが必要)

圧縮付きでエクスポートする基本構文

expdp ユーザー名/パスワード directory=ディレクトリ名 dumpfile=ファイル名.dmp logfile=ログファイル名.log compression=all

使用例:SCOTTスキーマをすべて圧縮してエクスポート

expdp scott/tiger directory=DATA_PUMP_DIR dumpfile=scott_comp.dmp logfile=scott_comp.log schemas=scott compression=all

このコマンドでは、SCOTTスキーマのメタデータとデータの両方を圧縮して、scott_comp.dmpに出力します。

ライセンスに注意(Enterprise Edition + Advanced Compression)

compression=alldata_only を使用するには、Oracle Database Enterprise EditionとAdvanced Compressionオプションが必要です。Standard Editionではcompression=metadata_onlyしか使用できませんので、環境に合わせた指定を行いましょう。

圧縮の効果と確認方法

  • 圧縮によりダンプファイルのサイズが大幅に小さくなる
  • 圧縮に伴い、CPU使用率が一時的に上昇することがある
  • 実行後はdu -hなどでファイルサイズを比較して効果を確認

パラメータファイル(parfile)での指定例

directory=DATA_PUMP_DIR
dumpfile=scott_comp.dmp
logfile=scott_comp.log
schemas=scott
compression=all

parfile=exp_compress.parとして保存し、以下のように実行します:

expdp scott/tiger parfile=exp_compress.par

まとめ

compression=all を活用すれば、OracleのData Pumpで生成されるダンプファイルのサイズを大幅に削減できます。ストレージ使用量の節約や、バックアップ・移行作業の効率化に役立つ便利な機能です。

ただし、使用可能な圧縮モードはライセンスによって制限があるため、環境に応じてmetadata_onlyallなどを使い分けましょう。効率よく安全なデータ管理を行うために、圧縮オプションをぜひ有効活用してみてください。