expdp数据泵导出方式,是Orace dba日常运维工作中最常用的一种数据迁移工具。它适用于部分对象,单用户,多用户等导出场景。我们可以通过一定的优化方法,让expdp跑得更快,从而提高运维效率。本文将介绍笔者最常用的一个参数。
对一个有1G数据量的用户,在虚拟机环境,进行导出测试:
常规最简约方式导出:
[oracle@kevin ~]$ time expdp kevin/kevin directory=kevin_exp dumpfile=kevin.dmpreal 0m37.726suser 0m0.021ssys 0m0.008s
增加3个并行导出:
[oracle@kevin ~]$ time expdp kevin/kevin directory=kevin_exp dumpfile=kevin.dmp parallel=3real 0m27.227suser 0m0.015ssys 0m0.011s
增加并行的同时,增加%U变量,为每一个通道单独存放一个文件:
[oracle@kevin ~]$ time expdp kevin/kevin directory=kevin_exp dumpfile=kevin%U.dmp parallel=3real 0m6.543suser 0m0.020ssys 0m0.010s
如上测试可见,原始导出耗时37.3s,优化后,仅需6.5s,效率提升约6倍。这在日常运维中,可以极大的节省时间。
更多技术细节,欢迎关注公众号联系作者交流。
关注更多精彩