Oracle

  (最終更新日:2014.08.27)

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. Oracle

    Oracleで統計情報を別のユーザー(スキーマ)に移行する方法

    Oracleでは統計情報のバックアップやインポートが可能ですが、別のユ…

  2. Oracle

    【Oracle】DataPumpの対話式コマンドモードを抜ける方法

    Oracle DataPump(impdp, expdp)では、 at…

  3. Oracle

    【Oracle】表領域を新規で作成してユーザーも作成する手順

    Oracle Databaseで、新規で表領域を作成しその表領域をデフ…

  4. Oracle

    impdpでインデックスのみを作成する方法

    impdpを利用してインデックスのみを作成したかったのでメモ的に。…

  5. Oracle

    【Oracle】Data Pumpでシーケンスのみを移行する方法

    Data Pumpでは inculde を利用することでシーケンスのみ…

  6. Oracle

    Statspackの取り方:テキスト形式のレポートをコマンドで出力する

    Oracleの障害や状況調査で役に立つStatspackレポートをテキ…

コメント

  1. この記事へのコメントはありません。

  1. 2019年 7月 17日

最近の記事

  1. さくらのVPSにCentOS 5をインストールする方法
  2. PHP PhantomJSでFatal error: Unc…
  3. 【Oracle】DataPumpの対話式コマンドモードを抜け…
  4. CentOS7のPHP5.6にPhpSpreadsheetを…
  5. Azure仮想マシン(CentOS 7)のStandardデ…
PAGE TOP