项目场景:
例如:项目场景:将dmp类型的数据泵导入oracle数据库
问题描述
使用plsql中导入选项将dmp文件导入oracle时报错
错误代码IMP-00401、IMP-00000
解决方法
更换思路使用oracle数据库自带sql plus工具以及命令提示框进行导入
命令提示框:
D:\oracledata>imp test/test@orcl full=y file= d:\test.dmp ignore=y;
cd到数据库data目录,运行该语句,仍报错
修改语句为:
`impdp username/password schemas=username directory=directoryname dumpfile=filename.dmp`;
仍报错,错误代码:
ora39002 39070 29283
发现";"只有在sql语句末尾才需要加,在命令提示框中不需要加分号,删除分号确定语句
impdp username/password schemas=username directory=directoryname dumpfile=filename.dmp
转到sql plus,登录sys用户创建新用户,表空间,创建临时directory并授予用户对临时directory读写权限
create tablespace ts_temp datafile 'D:\oradata\orcl\ts_temp.dbf' size 10G;
create directory temp as 'D/dp_temp';
grant read,write on directory temp to user;
重新使用命令提示框,报错:ORA-39002、ORA-39165
修改语句
impdp username/password remap_schemas=old_username:username remap_tablespace=old_tablespace:ts_temp directory=temp dumpfile=filename.dmp
old_username:导出数据泵文件时使用的用户名
old_tablespace:导出数据泵文件时使用的表空间名
如果语句报错:ORA-39171
说明是表空间不足引起的,增大表空间就可以了