Data Pumpの注意点。下位バージョンへデータを移行する際はVERSIONパラメータによるバージョンの指定が必要

Data Pumpを利用してOracle 11g R2からexpdpで取得したバックアップを、10g R2にimpdpで移行しようとしたところエラーとなってしまいました。(そもそも11gから10gが無理あるような‥)

$ impdp mentaiko/mentaiko directory=EXPDP_DIR dumpfile=mentaiko.expdp.dump logfile=EXPDP_DIR:mentaiko.log job_name=job_impdp1
ORA-39001: 引数値が無効です
ORA-39000: ダンプ・ファイル指定が無効です
ORA-39142: 互換性のないバージョン番号3.1が、ダンプ・ファイル"/opt/oracle/oradata/expdp/mentaiko.expdp.dump"内にあります

ORA-39142による互換性エラーの場合、expdpの段階でVERSIONオプションを指定してどの下位バージョンのOracleにデータをインポートしたいかを事前に明記しておく必要があります。

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

で、実際のexpdpコマンドは下記のようになります。

$ expdp mentaiko/mentaiko directory=DUMPDIR dumpfile=mentaiko.expdp.dump logfile=DUMPDIR:20130702_mentaiko.log job_name=job_expdp1 VERSION=10.2.0

これで問題なくimpdpにてインポートができるようになりました。

1 COMMENT

コメントを残す

メールアドレスが公開されることはありません。