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用户里面





posted @ 2021-06-22 16:08  我才是酷酷的飞  阅读(922)  评论(0编辑  收藏  举报