ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [转载] expdp, exp和sqluldr2 速度测试

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

原创 Linux操作系统 作者:tolywang 时间:2010-06-24 09:56:36 0 删除 编辑

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博客 ” ,链接:https://blog.itpub.net/35489/viewspace-666039/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695722