1、登录sqlplus
sqlplus sys/orcl as sysdba
2、创建dmp导出目录
create directory 目录名 as ‘目录路径’
–例:create directory test as ‘D:/expdp_dmp’
3、为当前创建的所有dmp导出目录(验证是否创建)
select * from dba_directories
–例:select * from dba_directories
4、为创建的目录分配权限
grant read,write on directory 目录名 to 需要赋值的用户名
–例:grant read,write on directory test to aaa;
执行exit;退出sqlplus然后导出
5、导出
expdp 用户名/密码@数据库实例名 directory=导出目录 dumpfile=导出的文件名.dmp logfile=导出的日志名.log
–例:expdp aaa/aaaa@orcl directory=expdp_dmp dumpfile=aaa20170417.dmp logfile=aaa20170417.log
1)按用户导
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
2)并行进程parallel
expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名导
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
4)按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query=‘WHERE deptno=20’;
5)按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
6、还原数据
1)导到指定用户下
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改变表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
5)追加数据
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=sy
stem TABLE_EXISTS_ACTION
expdp 用户名/密码 schemas=用户名 directory=exp dumpfile=*.dmp logfile=exp.log
impdp 用户名/密码 schemas=用户名 directory=exp dumpfile=*.dmp logfile=imp.log
impdp hecuat/hecuat@127.0.0.1:1521/orcl schemas=hecuat directory=dp_dir dumpfile=hecuat20160401_expdp.dmp logfile=dp_dir:hecuat20160401_impdp.log
更改表名,更改表空间,更改用户:
impdp park/park dumpfile=emp1.dmp directory=test_dir logfile=emp1.log remap_schema=jzh:park remap_tablespace=users:example remap_table=emp1:emp2
使用EXPDP和IMPDP时应该注意的事项:
EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。
expdp或impdp命令时,可暂不指出用户名/密码@实例名 as 身份,然后根据提示再输入,如:
expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;