一、exp/imp和expdp/impdp在功能上的区别:

  1、把用户usera的对象导入到userb

  emp/imp用法:

  formuser=usera touser=userb;

  empdp/impdp用法:

  remap_schema='usera':'userb'

  例如:

  imp system/password fromuser=usera touser=userb file=back.dmp log=backlog.log;

  impdp system/password directory=expdp dumpfile=back.dmp remap_schema='usera':'userb' logfile=backlog.log

  2、更改表空间

  用exp/imp,想要更改表空间,需要手动处理,如alter table xxx move tablespace_new之类的操作,而是用impdp只要用:

  remap_tablespace='tablespace_old' : 'tablespace_new'

  

  3、当制定多个表的时候

  exp/imp用法:tables('table1','table2','table3')

  expdp/impdp用法:tables='table1','table2','table3'

  4、是否要导出数据行

  exp rows=y,导出数据行,rows=n不导出数据行

  expdp content(all:对象+数据行,data_only:只导出对象,metadata_only:只导出数据的记录)

  

  Oracle10g提出的数据泵技术,在以下几个方面优于exp/imp命令:

  1、数据泵工具运行于服务器端,相比客户端的exp/imp其性能更好,并能实现exp/imp的全部功能。

  2、通过使用exclude,include,content等参数,数据泵可以为数据及数据对象提供更细微级别的选择性。

  3、通过设定数据库版本号,数据泵可以兼容老版本的数据库系统。

  4、并行执行。

  5、通过estimate_only参数,数据泵可以预估导出作业所需的磁盘空间。

  6、支持分布式环境中通过数据库连接实现导入\导出。

  7、支持导入时重新映射功能(即将对象导入到新的目标数据文件、架构及表空间等)。

  8、支持元数据压缩及数据采样。

  

  

04-15 12:39