Oracle Datapump 学习

近段时间要做一个使用datapump做数据迁移的项目,正好利用这个机会复习一下datapump。
1. exp/imp 于 expdp/impdp 的对比
1)性能对比
-- exp/imp默认采用传统路径(Conventional path)方式加载数据,性能较差,为了提高性能,可以把参数Direct=Y,采用直接路径方式加载数据,性能较好。而expdp/impdp默认是采用直接路径方式加载数据,性能较好。
常规路径导出使用SQL SELECT语句从表中抽取数据,直接路径导出则是将数据直接从磁盘读到PGA再原样写入导出文件,从而避免了SQL命令处理层的数据转换过程,大大提高了导出效率。在数据量大的情况下,直接路径导出的效率优势更为明显,可比常规方法速度提高三倍之多。
-- exp/imp导出的文件在客户端,性能还取决于网路状况,而expdp/impdp直接将文件导出在服务器端,性能不受网路状况的影响。
-- expdp/impdp可并行执行(设置参数parallel)
-- 从导出文件大小看,expdp/impdp比较小,应该进行了一些压缩。
2)用法区别
-- 更换用户名,
exp/imp: fromuser touser
expdp/impdp: remap_schema
--更换表空间
用exp/imp的时候,要想更改表所在的表空间,需要手工去处理一下,
如alter table xxx move tablespace_new之类的操作。
用impdp只要用remap_tablespace='tabspace_old':'tablespace_new'
--是否要导出数据行
exp (ROWS=Y 导出数据行,ROWS=N 不导出数据行)
expdp content(ALL:对象+导出数据行,DATA_ONLY:只导出对象,METADATA_ONLY:只导出数据的记录)
--多了传输表空间功能
transportable_tablespaces
2. datapump的命令行模式
有两种方式进入命令行模式,一种是在执行过程中按CTRL+C命令进入,另一种是指定 ATTACH 参数连接到当前正在执行的导入 / 导出任务。
命令行模式的好处是可以动态调整导入导出过程,特别是对于大数据量导入导出,可以在执行过程中修改并行度、暂停或继续执行等操作,非常的方便。
3.datapump的监控
datapump的监控有两种方式,一种是进入命令行模式之后,用status参数查看当前job的状态,另一种是进入数据库查询v$session_longops视图:
  • USERNAME - job owner

  • OPNAME - job name

  • TARGET_DESC - job operation

  • SOFAR - megabytes (MB) transferred thus far during the job

  • TOTALWORK - estimated number of megabytes (MB) in the job

  • UNITS - 'MB'

  • MESSAGE - a formatted status message of the form.:

    ':  : nnn out of mmm MB done'

4. Filter
1)数据解析:QUERY 和SAMPLE
2)元数据解析:EXCLUDE 和INCLUDE (注意,这两个参数是互斥的),以下视图列出了哪些对象是可以被解析的:DATABASE_EXPORT_OBJECTS, SCHEMA_EXPORT_OBJECTS, and TABLE_EXPORT_OBJECTS

5. 如何提高datapump性能
1)使用parallel参数设置适当并行度;
2)开启磁盘异步I/O:DISK_ASYNCH_IO=TRUE
3)取消数据库一致性检查:DB_BLOCK_CHECKING=FALSE,DB_BLOCK_CHECKSUM=FALSE
4)设置足够的进程参数:PROCESSES SESSIONS PARALLEL_MAX_SERVERS
5)设置合理的SHARED_POOL_SIZE and UNDO_TABLESPACE

6. datapump使用注意
1)在使用parallel参数导出时,记得dumpfile要用%U匹配符,而且并行度不要大于CPU的个数。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26277071/viewspace-714244/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26277071/viewspace-714244/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值