oracleimpdp导⼊时提⽰“ORA-39002:操作⽆效ORA-39070:⽆
法打开。。。
第⼀步:⾸先使⽤DBA权限的⽤户创建directory,我使⽤system ,可以在服务器本地创建,也可以远程连接sqlplus进⾏创建,使⽤的将是服务器上⾯的路径。要确保创建directory时,操作系统层⾯的路径已经存在。如果不存在,可以删除directory后,再重新建⽴directory。
1create directory data_pump_dir as'\exphd\datapump';
此处注意,即便操作系统层⾯不存在相应的⽬录,也会显⽰创建成功,但是在执⾏expdp的时候会出现错误
ORA-39002: 操作⽆效
ORA-39070: ⽆法打开⽇志⽂件。
ORA-39087: directory name DUMPDIR is invalid
第⼆步:连接到其它dba权限的⽤户,授权给要使⽤expdp的⽤户,,也可远程执⾏,即expdp 中的userid中的⽤户,⽽不是schemas=后⾯的⽤户:
1grant read,write on directory DUMPDIR to system;
如果没有授权使⽤,也会出相应的错误
第三步:查看管理理员⽬录,也可远程执⾏:
1select*from dba_directories;无法打开文件
建⽴的directory 都是⾪属于sys⽤户的,列出的路径也都是指服务器上⾯的,可以在此对照下物理⽬录是否存在问题。
注意事项:
1、需要注意的是,虽然可以远程建⽴⽬录、授权和查询,expdp只能在服务器端执⾏,在客户端执⾏会出现:
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Pr
With the Partitioning, OLAP, Data Mining and Real Application Testing
ORA-39002: 操作⽆效
ORA-39070: ⽆法打开⽇志⽂件。
ORA-29283: ⽂件操作⽆效
ORA-06512: 在 "SYS.UTL_FILE", line 488
ORA-29283: ⽂件操作⽆效等类似的错误。
2、使⽤expdp导出的11g的数据可以使⽤ 10g的impdp导⼊到10g的数据库⾥⾯,需要在两个命令⾥⾯都添加⼀个version =10.2.0.1.0 指定相应的版本号。userid可以这样写,看帮助同样是help=y ;
3、IMPDP as sysdba' schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0
4.使⽤impdp 和expdp 的时候最后⾯不能有分号;负责也有会有不到⽅案的错误!