[转载] expdp, exp和sqluldr2 速度测试

http://www.anysql.net/dba/sqluldr2_exp_expdp.html  

昨天测试了一下expdp, exp和sqluldr2的性能, 测试机器为Linux, 机器主频为3G, 测试时基本上sqluldr2的单个进程占用了一整个CPU, 也就是CPU的主频限制了sqluldr2和exp的速度. 以sqluldr2为参照物, 各个工具的速度对比结果如下.

expdp = (parallel degree – 1) * 2 * sqluldr2
exp direct  = 2 * sqluldr2
exp = 1 * sqluldr2

    这时发现, expdp其实是exp的升级版本, exp + direct mode + parallel, 因为要支持并行生成几个文件, 所以Oracle通过控制后观的并行进程来实现, 如果文件是生成在客户端, 则没有办法控制后台进程来并行生成文件, 这个是expdp的文件只能生成在服务器端的技术原因, 并且需要Oracle内部的目录对象来控制文件存放位置. 另外一个原因据说是因为安全, 导出文件并不表示得到了数据.

    Direct模式导出可以得到一倍的性能提升, 但查遍了google和metalink, 都没有找到direct unload有关的OCI API函数, 只找到一堆direct load有关的OCI API. 不知道有谁对这个有所了解? 难道是Oracle故意不开放这部份API, 以提升将数据迁移到其他类型数据库的成本?

    有点想搞清楚exp和expdp中的direct模式是如何编程的, 用以改进一下sqluldr2.

 

 

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

转载于:http://blog.itpub.net/35489/viewspace-666039/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值