shioyakitaroのブログ

主にオラクルDBやLinuxについて調べたことを書いてます。

PDBではデフォルトのDATA_PUMP_DIRは使用できません

オラクルDBのマルチテナント環境ではまったので備忘録として記しておく。

Oracle RAC環境からデータポンプでエクスポートしたデータを、マルチテナント環境のPDBにデータポンプでインポートしようとした際にエラーが発生。

ディレクトリオブジェクトにDATA_PUMP_DIRが存在しているのにも関わらず

そこにダンプファイルを置いて、ディレクトリオブジェクトにDATA_PUMP_DIRを指定してもディレクトリオブジェクト関連のエラーでインポートができない。

ディレクトリオブジェクトへの書き込み、読み込み権限を付与してもエラーは変わらず。

調べたところ、公式ドキュメントを見ると次の一文が

デフォルトのデータ・ポンプ・ディレクトリ・オブジェクトのDATA_PUMP_DIRは、PDBでは使用できません。エクスポートまたはインポートするPDB内に明示的なディレクトリ・オブジェクトを定義する必要があります。

Oracle Data Pumpの概要

にしてもエラー内容が分かりにくい。使えないなら上記のメッセージを表示してほしいものである。