DataPumpでORA-904
既存の開発環境のOracleから、勉強会用の環境にデータを移行しようとした。
DataPumpでスキーマごとデータを丸っと移行。
impdpでエラー発生
ORA-00904: "ORIGINAL_OBJECT_NAME": 無効な識別子です。
検索したら、同じ問題が出てきた。(英語)
https://forums.oracle.com/forums/thread.jspa?threadID=1086254
原因は、
ソースDBとターゲットDBのバージョンが異なってたこと。
11.1.0.7⇒11.1.0.6
で、DataPumpはエラーが出てしまうそうだ(Bug:7590679)
対策方法は、以下の2点
- パッチを当てて、ターゲットDBを11.1.0.6⇒11.1.0.7に上げる
- version=10.2のオプションを付けてexportを行う
てっとり早くデータ移行したいので、versionオプションで対応
expdp user/pass directory=dpdir dumpfile=expdp version=10.2
うまく移行できました。