导入dmp文件需要确定一下几点
1.确定用户名表空间是否与导出dmp文件一致
例如:
如果对方导出dmp文件使用用户名与表空间不一致
则会导入时报ORA-00959:表空间不存在 ORA-01918:用户不存在
2.确定对方导出方式来使用命令导入
例如:
如果对方使用expdm导出则用impdb导入
则会报IMP-00038:无法转换为环境字符集句柄 IMP-00000:未成功终止导入
3.使用create directory创建对象后如果对方使用expdm导出我们使用impdb导入,
Dumpfile=不能有路径描述
例如:
impdp Nwdy/tangboTest@orcl directory=DBBACKS dumpfile=D:\path\xxx.dmp
则会报ORA-39001:参数值无效 ORA-39000: 转储文件说明错误 ORA-39088:文件名不能包含路径说明
解决方法:
使用dbbacks创建对象后将dmp文件放在与dbbacks创建的对象同一目录下然后直接通过
dumpfile=xxx.dmp 即可。
注意:
create directory需要先把路径目录创建为xxx这个对象
如:create directory xxx as ‘D:\path’
导入dmp文件
1.授权给用户创建目录权限
grant connect,resource,dba to 用户名
2.将自己定义的目录创建为xxx对象
create directory xxx as ‘D:\path’;
3.查询创建的xxx对象是否能查询到
select * from dba_directories;
4.给用户赋予读写权限
grant read,write on directory dbbacksto 用户名
5.导入dmp文件
impdp 用户名/密码@服务名 directory=xxx创建的目录对象 dumpfile=dmp文件名
或者
imp 用户名/密码@服务名 file=D:\path\xxx.dmp fromuser=用户名 touser=用户名
以上蓝色标识需用命令执行;
绿色标识需用命令窗口使用:
Sqlplus/nolog
connect system/orcl(服务名)as sysdba登陆后执行