开发者社区> 烂泥行天下> 正文

oracle中有关expdp与impdp的使用整理

简介:
+关注继续查看

exp/imp可以在服务器端和客户端执行,并且备份文件也是可以在客户端产生。而expdp/impdp只能服务器上执行,同时备份文件只能存在服务器上面。

1. 创建用户及授权

create user ilanni identified by ilanni default tablespace ilanni;

grant connect,resource,create any view to ilanni;

2. 创建导出目录及授权

create directory exp_dir as ‘d:\test’;

(这个创建先后没有顺序,可以在用户未创建前创建,也可以在用户创建后创建。但是d:\test目录必须首先已经存在,或者已经创建)

grant read,write on directory exp_dir to ilanni;

3. 创建导入目录及授权

create or replace directory wpdp_dir as ‘d:\test’;

(这个创建先后没有顺序,可以在用户未创建前创建,也可以在用户创建后创建。但是d:\test目录必须首先已经存在,或者已经创建)

grant read,write on directory wpdp_dir to ilanni;

4. 导出dmp文件

expdp ilanni/topo@127.0.0.1:/xe schemas=ilanni dumpfile=ilanni_expdp.dmp logfile=ilanni_expdp.log directory=exp_dir

5. 导入dmp文件,从一个用户expdp导出再impdp导入到另一个用户

5.1 如果想导入的用户已经在数据库中存在:

a. 导出用户

expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp

b. 导入用户

impdp user2/pass2 directory=dumpdir dumpfile=user1.dmp remap_schema=user1:user2 exclude=user full=y;

5.2 如果想导入的用户在数据库中不存在:

a. 导出用户

expdp user1/pass1 directory=dumpdir umpfile=user1.dmp

b. 导入用户

impdp system/passsystem directory=dumpdir dumpfile=user1.dmp remap_schema=user1:user2 full=y;

user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,因为此是user2是锁定状态,而且还要必须修改user2的密码(详见8解释)

impdp ilanni/topo@127.0.0.1:/xe directory=wpdp_dir remap_schema=topo:ilanni  remap_tablespace=ilanni_test:ilanni dumpfile=ilanni_expdp.dmp logfile=ilanni_impdp.log

其中remap_schema字段中的topo为原来数据库用户,ilanni为现在数据库用户。remap_tablespace字段中的ilanni_test为原来数据库的表空间,ilanni为现在数据库的表空间。

6. 查询已经存在的导入目录

select * from dba_directories;

clip_image001

7. 删除已经存在导入目录

drop directory directory_name;

clip_image002

8. impd导入时,可以创建用户

impdp命令在导入数据时,如果用户存在,则会自动创建该用户,因为expdp导出的dmp文件中包含了创建用户的脚本信息(包括密码,缺省表空间,临时表空间等)。

impdp自动创建用户有一个前提条件,就是需要首先创建用户的缺省表空间和临时表空间,如果缺省表空间或者临时表空间不存在,则自动创建用户会失败,导致导入数据的失败。

在执行impdp之前,必须要创建导入目录,如下:

create directory wpdp_dir as ‘ d:\test ‘;

 impdp system/system@192.168.24.249:/orcl directory=wpdp_dir remap_schema=coss:ilanni remap_tablespace=ilanni_test:ilanni  dumpfile=ilanni.dmp logfile=ilanni.log

该导入语句中coss是原来dmp文件原来数据库用户,ilanni为要创建的用户。这个执行完毕后,新建的用户ilanni还处于锁定状态,密码还要修改。而且该用户还有DBA权限。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle-数据泵expdp/impdp实操
Oracle-数据泵expdp/impdp实操
24 0
Oracle expdp impdp导出导入命令及数据库备份
Oracle expdp impdp导出导入命令及数据库备份
66 0
oracle表数据量太大,expdp只导出部分
oracle表数据量太大,expdp只导出部分
41 0
Oracle 11.2.0.4数据泵expdp导出报DBMS_AW_EXP等信息
Oracle 11.2.0.4数据泵expdp导出报DBMS_AW_EXP等信息
104 0
Oracle使用expdp/impdp实现全库导入导出的整体流程
Oracle的全库导入,首先一点必须先创建数据库,创建了数据库,才能往该数据库导入所有数据。相对来说,使用Oracle进行数据导入导出还很有些“麻烦”的,大多数资料上来就是......
2076 0
Oracle运维笔记之EXPDP报错ORA-39077和ORA-31638
Oracle运维笔记之EXPDP报错ORA-39077和ORA-31638
1494 0
Oracle用expdp方式备份脚本;
Oracle用expdp方式备份脚本;
4822 0
Oracle备份与还原(Expdp/Impdp)
Oracle备份与还原(Expdp/Impdp) 运行cmd; 登陆数据库,输入命令:sqlplus 用户名/密码; 建立目录对象:  在建立目录对象前查询是否存在目录对象,若存在则不需要创建:  select * from ALL_DIRECTORIES;  若不想要自己所创建的目录对象可.
1834 0
Oracle 11gR2 中使用expdp导出数据
一:导出前期准备: 1.创建目录对象: CREATE DIRECTORY dump_dir AS ‘c:\dump’; 2.在操作系统上创建相应的目录。
1075 0
+关注
烂泥行天下
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
迁移 ORACLE 最佳实践
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关镜像