Oracle impdp コマンド時にORA-39002 ORA-39070 ORA-39087 が出て、インポートできない | クズリーマンのカス備忘録

Oracle impdp コマンド時にORA-39002 ORA-39070 ORA-39087 が出て、インポートできない

ora-logo Oracle
スポンサーリンク

事象

impdp コマンドでインポートしようとしたら、

  1. ORA-39002
  2. ORA-39070
  3. ORA-39087

の3つのエラーが出力され、インポートできない

 

 

原因

 

DIR が無いこと、または権限が付与されてないことが原因。

 

参考

 

または、impdp時に、PDBを指定していないことが原因だった。

 

対応

DIRは存在してた。

権限付与を実行する。

 

grant read on directory [ディレクトリオブジェクト名] to [ユーザ名];

grant write on directory [ディレクトリオブジェクト名] to [ユーザ名] ;

参考

 

付与したいユーザーがSYSTEMの場合、

  1. OracleにSYSTEMでログインする
  2. 自分自身に権現付与できないので、sysdbaに成る
    1. conn sys@OraDoc as sysdba
  3. PDBに変える
    1. alter session set container = PDB1

を、やってから権限付与する。

 

注意点:

sqlplus でOracleにログインするときにPDB上につくってる場合はPDBを指定しないとだめだったぜ。

sqlplus SYSTEM/パスワード@pdb1

 

impdp時にPDB指定するやり方は以下の通り。

 

impdp hr@pdb1 DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp TABLES=employees

 

Oracle公式

上記のとおり、「ユーザー@pdb名」の形式にする。

 

コメント

タイトルとURLをコピーしました