oracle 数据泵导入导出

oracle 数据泵导入导出

使用expdp和impdp时应该注重的事项:

1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。 
2、expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。 
3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。 
4、对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。

一、准备工作

1)、在备份目的路径建立备份文件夹 
例如:d:\bak

2)、用sys用户在oracle中创建逻辑目录 
SQL>create directory oracleBak_dir as ‘d:\bak’;

3)、查看数据库中的逻辑目录 
SQL>select * from dba_directories;

4)、授权用户有对逻辑目录的读写权限 
SQL>grant read,write on directory oracleBak_dir to someone;

二、导出

1)导出用户 
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=oracleBak_dir ;

2)导出表 
expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=oracleBak_dir ;

3)按查询条件导 
expdp scott/tiger@orcl directory=oracleBak_dir dumpfile=expdp.dmp tables=emp query=’where deptno=20’;

4)按表空间导 
expdp system/manager@orcl directory=oracleBak_dir dumpfile=tablespace.dmp tablespaces=temp,example;

5)导整个数据库 
expdp system/manager@orcl directory=oracleBak_dir dumpfile=full.dmp full=y;

三、导入数据

1)导入用户(从用户scott导入到用户scott) 
impdp scott/tiger@orcl directory=oracleBak_dir dumpfile=expdp.dmp schemas=scott;

2)导入表(从scott用户中把表dept和emp导入到system用户中) 
impdp system/manager@orcl directory=oracleBak_dir dumpfile=expdp.dmp tables=scott.dept,scott.emp remap_schema=scott:system;

3)导入表空间 
impdp system/manager@orcl directory=oracleBak_dir dumpfile=tablespace.dmp tablespaces=example;

4)导入数据库 
impdb system/manager@orcl directory=oracleBak_dir dumpfile=full.dmp full=y;

5)追加数据 
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action

参考文档: 
http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_export.htm#i1007509

http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_import.htm#g1025464

转自https://blog.csdn.net/tmtongming/article/details/72865512

猜你喜欢

转载自www.cnblogs.com/KQNLL/p/8952610.html