使用navicate数据泵导入不同用户不同表空间的dmp文件方法
一. 使用expdp命令导出dmp文件
- 使用sysdba身份进入SQL;
- 使用
create directory my_dbdata as 'D:/my_dbdata';
命令,创建一个文件夹,用来保存导出的dmp文件; - 给文件夹赋予读写权限,使用命令
grant read,write on directory my_dbdata to user;
- 将SQL退出,
exit
; - 将dmp文件导出到新建的文件夹中,使用命令
expdp user/密码DIRECTORY=my_dbdata DUMPFILE=XXXX.dmp;
二. 使用impdp命令导入dmp文件
- 使用命令
impdp user2/密码directory=my_dbdata dumpfile=XXXX.dmp remap_schema= user1: user2 remap_tablespace=user1: user2;
- 描述
dumpfile:需要导入的dmp文件名称;
directory:dmp文件所在的目录文件夹;
REMAP_SCHEMA: 该选项用于将源方案的所有对象装载到目标方案中;
REMAP_SCHEMA=source_schema:target_schema(_schema可写可不写);
==REMAP_TABLESPACE:将源表空间的所有对象导入到目标表空间中; ==
REMAP_TABLESPACE=source_tablespace:target_tablespace(_tablespace可写可不写);
以上内容参考地址: https://www.cnblogs.com/liuxiangsheng/p/15132280.html;
三. 将dmp文件导入不同的服务器不同的用户不同的表空间
- 先根据第一步将dmp文件导出(参照一.1);
- 在新的服务器上创建放置dmp文件的文件夹,并给与读写权限(参照一.2);
- 将需要导入的dmp文件放到新建的文件夹中;
- 使用导入命令(参照二.1);
四. 注意事项
- 执行导入命令后,可能会出现ORA-39112: 跳过从属对象类型 COMMENT, 创建基本对象类型 xxx 失败 报错信息;
解决方案:在导入命令后添加transform-segment_attributes:n,再次执行命令即可;
参考地址:https://blog.csdn.net/Lbg_007/article/details/106538676;