exp 和imp 与expdp / impdp 区别
exp 和imp是属于客户端工具,expdp和impdp 属于服务端工具
1)EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。
2)EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, 不能在客户端使用。
3) IMP 只适用于EXP 导出文件, 不适用于EXPDP 导出文件;IMPDP 只适用于EXPDP 导出文件, 而不适用于EXP 导出文件。
EXPDP/IMPDP 在备份和恢复时间上要比EXP/IMP有着优势.并且EXPDP/IMPDP 管理灵活
最大的区别就是:
1 速度。
2 expdp 导出的数据只能放在连接的数据库服务器端。
3 expdp/impdp可以指定导出,导入任意对象
# exp/imp只能指定表
用法区别
1:把用户usera的对象导到用户userb,用法区别在于fromuser=usera touser=userb ,remap_schema='usera':'usera' 。例如:imp system/passwd fromuser=usera touser=userb file=/oracle/exp.dmp log=/oracle/exp.log;
impdp system/passwd directory=expdp dumpfile=expdp.dmp remap_schema='usera':'userb' logfile=/oracle/exp.log;
2:更换表空间,用exp/imp的时候,要想更改表所在的表空间,需要手工去处理一下,如alter table xxx move tablespace_new之类的操作。
用impdp只要用remap_tablespace='tabspace_old':'tablespace_new'
3:当指定一些表的时候,使用exp/imp 时,tables的用法是 tables=('table1','table2','table3')。
expdp/impdp的用法是tables='table1','table2','table3'
4:是否要导出数据行
exp (ROWS=Y 导出数据行,ROWS=N 不导出数据行)
expdp content(ALL:对象+导出数据行,DATA_ONLY:只导出对象,METADATA_ONLY:只导出数据的记录)
5:expdp是10g的新特性而且只能在服务器执行。而exp/imp是通用的。
expdp导出流程
1、创建dmp导出目录
create directory 目录名 as '目录路径' --例:create directory expdp_dmp as 'D:/expdp_dmp'
2、查看当前创建的所有dmp导出目录 (验证看是否创建成功)
select * from dba_directories --例:select * from dba_directories
3、为创建的目录赋权限
grant read,write on directory 目录名 to 需要赋值的用户名 --例:grant read,write on directory expdp_dmp to aaa;
4、导出
expdp 用户名/密码@数据库实例名 directory=导出目录 dumpfile=导出的文件名.dmp logfile=导出的日志名.log
--例:expdp aaa/aaaa@orcl directory=expdp_dmp dumpfile=aaa20170417.dmp logfile=aaa20170417.log
导入impdp
impdp aaa/aaa@orcl directory=expdp_dmp dumpfile=aaa20170417.dmp logfile=aaa.log remap_schema =aaa:aaa
注:remap_schema=aaa:aaa表示把左边的aaa用户的数据,导入到右边的aaa用户里面
要有多努力才能对得起奔波的脚步和身上的期望