Oracle使用EXPDP和IMPDP数据泵进行导出导入的方法(常用方法)
使用expdp和impdp时应该注重的事项:
1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
2、expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。4、对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。 一、创建逻辑目录,该命令不会在操作系统创建真正的目录(请先创建真正的目录),最好以system等管理员创建逻辑目录。SQL>conn system/manger@orcl as sysdbaSQL>create directory dump_dir as 'd:\test\dump';二、查看管理员目录(同时查看操作系统是否存在,因为oracle并不关心该目录是否存在,假如不存在,则出错)SQL>select * from dba_directories;
三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。SQL>grant read,write on directory dump_dir to scott; 四、用expdp导出数据
1)导出用户
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=dump_dir;2)导出表
expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=dump_dir;3)按查询条件导
expdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp tables=empquery='where deptno=20';4)按表空间导
expdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmptablespaces=temp,example;5)导整个数据库
expdp system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;6)多表导出
提前创建一个tables文件,内容如下:
#vim tables
tables=(
table01,table02,table03)
然后导出
expdp system/oracle@orcl directory=dump_dir dumpfile=expdp2017.dmp logfile=expdp2017.log parfile=tables
五、用impdp导入数据导入时,用户可先drop掉,再创建空用户,进行导入;如果是表,可先drop掉表才能导入。
1)导入用户(从用户scott导入到用户scott)
impdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp schemas=scott;REMAP_SCHEMA=scott:scott01 REMAP_TABLESPACE=USERS:USERS01 //如果导出的用户是scott,表空间是users. 要导入到另外的用户和表空间下scott01,表空间users01.刚需要把这两个参数加上。
2)导入表(从scott用户中把表dept和emp导入到system用户中)
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp tables=scott.dept,scott.emp remap_schema=scott:system;3)导入表空间
impdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=example;4)导入数据库
impdb system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;5)追加数据
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action6)多表导入
impdp scott/123456@orcl directory=dump_dir dumpfile=expdp2017.dmp remap_schema=scott:scott01