oracle - 为什么我得到 ORA-39001 : invalid argument value when I try to impdp in Oracle 12c?

标签 oracle import oracle12c datapump

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

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

我明白了:

ORA-39001 : invalid argument value

ORA-39000 : bad dump file specification

ORA-39088 : directory name DATA_PUMP_DIR is invalid



我们过去一直把它导入到 11g 中。

我该如何解决这些错误?

最佳答案

From the 12c documentation :

Be aware of the following requirements when using Data Pump to move data into a CDB:
...

  • The default Data Pump directory object, DATA_PUMP_DIR, does not work with PDBs. You must define an explicit directory object within the PDB that you are exporting or importing.


您需要在 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 

关于oracle - 为什么我得到 ORA-39001 : invalid argument value when I try to impdp in Oracle 12c?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37053139/

相关文章:

java - 使用手动 PK(不是自动生成的)使用 Spring 数据 JDBC CrudRepository 插入 oracle

sql - 从 Oracle 表中删除

oracle - 如何终止仅处于非事件状态的 Oracle 数据库 session ?

scala - 无法解析具有此类签名的引用 StructField

甲骨文 : Export select statement result set as INSERT SQL Statements similar to SQL developer export

c# - 实现主动/被动集群 : how to use Oracle for my distributed lock?

sql - 创建外键约束时,是否需要列名?

python - 在python中导入外部 ".txt"文件

python - 使用变量 "interpolation"创建导入语句

sql - Oracle 12c - 插入到选择查询中的列不明确,ORA-00918