当前位置:操作系统 > Unix/Linux >>

优化IMPDP/EXPDP导入导出速度

优化IMPDP/EXPDP导入导出速度
 
       数据据泵与exp/imp 来说性能有很大的提高,其中影响最大的就是paralle。可以这么来看:  expdp/impdp=exp/imp+direct mode  + paralle. 所以,使用数据泵,要想提高速度,就要设置并行参数。(expdp没开并行,基本上和直接路径exp没两样),其他调整比如REDO,tmp表空间等这里就不讲了。
       如果我们使用如下语句:
 
expdp full=y directory=dump dumpfile=orcl_%U.dmp parallel=4

 

 
       那么expdp将为parallel 创建4个文件: ORCL_01.DMP,RCL_02.DMP ,ORCL_03.DMP,RCL_04.DMP。  每个进程一个文件。  这样的话,每个文件的大小会因进程而不同。可以某个文件很大,某个文件却很小。要解决这个问题,就是设置filesize 参数。来指定每个文件的最大值。这样当一个文件达到最大值的之后,就会创建一个新的文件。
 
如:
 expdp full=y directory=dump dumpfile=orcl_%U.dmp parallel=4 filesize=50M

 

 
       导出的dump文件和paralle有关系,那么导入也有关系。 paralle要小于dump文件数。如果paralle 大于dump文件的个数,就会因为超过的那个进程获取不到文件,就不能对性能提高。
 
       一般parall 参数值等于CPU 的个数。而且要小于dump文件的个数。 
 
查看CPU 个数:
 
SQL> show parameter cpu   

 

注意:
 
       导出导入的过程,尽量避免用ssh连上服务器,在客户端的ssh里执行备份恢复命令。因为这样,如果连接中断,备份也就中断了。可以将备份脚本添加到crontab 里。让备份在服务器上执行。这样即使ssh中断,备份和恢复也不受影响。
 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,