データベースに限らずバージョンは上がっていくものと思っているが、ひょんなことから、Oracleでエクスポートしたデータを下位バージョンでインポートした時のお話です。
結論から言うと、エラーが発生してインポートに失敗しました。
impdpコマンドでインポート
OSはWindows 10で、Oracle 12.2系でエクスポートしたdumpファイルを、impdpコマンドを利用して12.1系にインポートしました。
impdp system/MANAGER@192.168.XXX.XXXX/ORADB directory=DUMP_DIR dumpfile=sample.dump logfile=sample.log table_exists_action=replace
impdp
コマンドの使い方を知りたい方はググってくださいな。
エラー内容
上記のコマンドを実行すると以下のようなエラーが出ました。
接続先: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
ORA-39001: 引数値が無効です
ORA-39000: ダンプ・ファイル指定が無効です
ORA-39142: 互換性のないバージョン番号5.1が、ダンプ・ファイル"c:dumpsample.dump"内にあります
これはインポートする前に、expdp
コマンドでエクスポートする際に事前にインポート先のOracleのバージョンを指定しとけよってことらしいです。
バージョンを指定してエクスポート
expdp
コマンドでバージョンを指定すには、VERSIONオプションを使用します。
今回は下位バージョンである12.1にデータをインポートしたいので、
VERSION=12.1.0
を追加します。
使用例
# before
expdp system/MANAGER@192.168.XXX.XXXX/ORADB directory=DUMP_DIR dumpfile=sample.dump logfile=sample.log job_name=job_sample
# after
expdp system/MANAGER@192.168.XXX.XXXX/ORADB directory=DUMP_DIR dumpfile=sample.dump logfile=sample.log job_name=job_sample VERSION=12.1.0
これでめでたくインポートできました!
- Original:https://minory.org/oracle-impdp-error.html
- Source:Minory
- Author:管理者
Amazonベストセラー
Now loading...