1.首先用超级管理员登录
>> sqlplus user/pwd@orcl as sysdba
2.创建目录
>> CREATE DIRECTORY dump_dir AS 'D:\dump';
3.给当前需要使用的用户授权
>> GRANT READ, WRITE ON DIRECTORY dump_dir TO user;
>> grant imp_full_database to user;
>> grant dba to user;
4.查询是够创建成功
select * from dba_directories
5.导出数据
1)按用户导出
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dump_dir logfile=expdp.log
2)按表名导出
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dump_dir logfile=expdp.log
e)按查询条件导出
expdp scott/tiger@orcl directory=dump_dirdumpfile=expdp.dmp Tables=emp query='WHERE deptno=20' logfile=expdp.log
4)按表空间导出
expdp system/manager DIRECTORY=dump_dirDUMPFILE=tablespace.dmp TABLESPACES=temp,example logfile=expdp.log
5)导出整个数据库
expdp system/manager DIRECTORY=dump_dirDUMPFILE=full.dmp FULL=y logfile=expdp.log
6.导入数据
1)导入指定用户下
impdp scott/tiger@orcl DIRECTORY=dump_dir DUMPFILE=expdp.dmp SCHEMAS=scott logfile=impdp.log
2)导入改变表的owner
impdp system/manager DIRECTORY=dump_dir DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system remap_tablespace=scott:system
3)导入表空间
impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=example
4)导入数据库
impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y
5)追加数据
impdp system/manager DIRECTORY=dump_dir DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION
注:(linxu 下需要创建当前数据库操作用户,并赋予当前文件夹权限 chmod -R 777 文件夹)