当我尝试在Oracle 12c中进行impdp时,为什么会得到ORA-39001:无效的参数值?

时间:2016-05-05 14:23:07

标签: oracle import oracle12c datapump

在Oracle 12c SE2中运行此命令时:

impdp system/Oracle_1@pdborcl directory=DATA_PUMP_DIR dumpfile=mydb.dmp nologfile=Y

我明白了:

  

ORA-39001:参数值无效

     

ORA-39000:错误转储文件规范

     

ORA-39088:目录名称DATA_PUMP_DIR无效

我们曾经一直把它导入11g。

如何解决这些错误?

1 个答案:

答案 0 :(得分:5)

From the 12c documentation

  

使用数据泵将数据移入CDB时,请注意以下要求:
  ......

     
      
  • 默认数据泵目录对象DATA_PUMP_DIR不适用于PDB。您必须在要导出或导入的PDB中定义显式目录对象。
  •   

您需要在PDB中定义自己的目录对象,您的用户(此处的系统)具有读/写权限。

create directory my_data_pump_dir as 'C:\app\OracleHomeUser1\admin\orcl\dpdump';
grant read, write on directory my_data_pump_dir to system;

它可以是DATA_PUMP_DIR指向的相同操作系统目录,您只需要一个单独的目录对象。但我已经使用了你所说的你喜欢的路径,来自前一个问题的评论。

然后导入被修改为:

... DIRECTORY=my_data_pump_dir DUMPFILE=mydb.dmp