关于Expdp/Impdp 并行导入导出详细测试结果和并行参数的正确理解!!

由于准备做一个120G左右的数据库的数据迁移,使用EXPDP和impdp做了一系列的测试
导出环境 4CPU AIX P4 -750M  16G 内存
导入环境 4CPU AIX P6-4G 32G 内存 4CPU可以虚拟出16个线程来,可以看到16个虚拟的CPU
存储都是一样的DS4300 24块146G 15K ,都是使用裸设备,单机导入
导出测试
导出脚本,只修改PARALLEL=3的数字,导入相同
nohup expdp system/manager schemas=kdjm DIRECTORY=DUMP_FILES PARALLEL=3 dumpfile=KDJM2008-11-28_%U.dmp logfile=nnsiexp2008_12_28.log&
导出时间成绩
1个并行文件 1:05
2个并行 0:56:36
3个并行 0:30:41 
4个并行 0:51
6个并行 1:21
注意到没有,不是什么数量的并行值都能快速的导出,期间使用sar -ud 5 1000,监控磁盘I/O情况,发现在最快的3个管道的时侯I/O等待为40-50,1个管道的时侯I/O等待只有5-10个,6个管道的时侯是70-80的I/O等待,因此我认为无论是那种平台导出要想更快,一定要压榨I/O的能力,尽量使i/o等待在30-50之间,太多了I/O能力反而可能下降,看来在这个平台上,3个管道是最好的呵呵,导出时的PARALLEL应该是指生成的数据文件过程的I/O进程数,如果指定了%U参数,也将是文件数。 
导入时间:
导入脚本
nohup impdp system/manager schemas=kdjm DIRECTORY=DUMP_FILES PARALLEL=12 dumpfile=KDMJ2008-12-11_%U.dmp logfile=KDMJ2008-12-11.log&
导入时ORACLE参数配置,导出时好像配啥参数都没有效果呵呵
alter system set db_file_multiblock_read_count=256 scope=spfile;
alter system set pga_aggregate_target=4G scope=spfile;
alter system set shared_pool_size=4G scope=spfile;
alter system set db_cache_size=18G  scope=spfile;
alter system set sga_max_size=24G scope=spfile;
alter system  set sga_target=24G scope=spfile;
alter system  set  processes=400 scope=spfile;
排序区=1.5G 
alter system  set sort_area_size=1610612736 scope=spfile;
导入耗时成绩
1个并行,1个导入文件 11:27:21
4个并行,4个导入文件6:12:32
8个并行,4个导入文件4:42:45
12个并行,3个导入文件3:42:27
14个并行,3个导入文件4:40:13
16个并行,2个导入文件4:39:07
看到没有,导入选择合理的参数,从11个多小时降到3小时多一点,差异非常巨大,这样的差距,尽量在导入的时侯压榨I/O的压力,是说不通的。事实上到了导入后半程,SAR监控到的I/O压力并不大,是什么影响了导入的速度?我看到一个出错的语句帮助我解开了这个秘密,这个出错的语句是创建索引的语句
这是出错的语句,应该是开发错误地将创建索引的表空间指到了SYSAUX,从而导致出错了,注意最后的PARALLEL 8
ORA-31685: Object type INDEX:"DBSNMP"."DK_WERR" failed due to insufficient privileges. Failing sql is:
CREATE INDEX "DBSNMP"."DK_WERR" ON "KDMJ"."DK_WERR" ("SCY", "AWERR") PCTFREE 10 INITRANS 2 MAXTRANS 255  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "SYSAUX" PARALLEL 8 
这个出错,让我们知道导入时指定PARALLEL值实际是用在创建索引的并行度上的,所以导入的时侯选择较高的并行度是可以大幅度提高创建索引的速度,从而加快了导入的速度。其实从导入数据来看,无论你选择多少个并行值,都是在1个小时左右数据就全部导入了,这时查询数据能查询到,但是没有索引,无论那种导入方式浪费时间,最多都是创建索引的时间,我们修改创建索引的并行度,使创建索引的速度大大增加了,当然增加到更多的值,会产生的I/O和锁之类的竞争,从而导致速度下降了,我们看到14个并行值和16个并行值还不如12个的,另外要特别指出一点,导入的时侯PARALLEL值和导出时的PARALLEL值可以完全不同的,估计好多人和我以前的理解一样,认为导入导出的数量要严格相等的,但是手册推荐导入数量要等于导出的数量罢了。

如果要给导入一个合理的PARALLEL值,通过测试,我认为是可用的CPU数(不管你是虚拟的还是多核的)的60-70%左右的值是一个比较好的值。当然如果有可能还是测试一下来决定一个最优的值吧。

Expdp/Impdp 并行导入导出详细测试相关推荐

  1. expdp oracle 并行_关于Expdp/Impdp 并行导入导出详细测试结果和并行参数的正确理解!!...

    由于准备做一个120G左右的数据库的数据迁移,使用EXPDP和impdp做了一系列的测试 导出环境 4CPU AIX P4 -750M  16G 内存 导入环境 4CPU AIX P6-4G 32G ...

  2. 关于Expdp/Impdp 并行导入导出详细测试结果和并行参数的正确理解!!

    由于准备做一个120G左右的数据库的数据迁移,使用EXPDP和impdp做了一系列的测试 导出环境 4CPU AIX P4 -750M  16G 内存 导入环境 4CPU AIX P6-4G 32G ...

  3. impdp 并行_Expdp/Impdp 并行导入导出详细测试结果

    导出时间成绩 1个并行文件 1:05 2个并行 0:56:36 3个并行 0:30:41 4个并行 0:51 6个并行 1:21 注意到没有,不是什么数量的并行值都能快速的导出,期间使用sar -ud ...

  4. oracle中imp命令详解,ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP命令详细对照...

    ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP 命令详细对比 一.EXPDP IMPDP EXP IMP 可以实现 1.可以实现逻辑备份和逻辑恢复 2.可以在数据库用户之间 ...

  5. exp/expdp 与 imp/impdp命令导入导出数据库详解

    exp/expdp 与 imp/impdp命令导入导出数据库详解 一.exp命令导出数据库 如何使exp的帮助以不同的字符集显示:set nls_lang=simplified chinese_chi ...

  6. oracle 的导入导出,Oracle 导入导出详细介绍

    数据库version 导入导出工具 ( from )导出数据库 ( to )导入数据库 Expdp/Impdp 11.2.0.2.0 10.2.0.3.0 From 11g(11.2.0.2.0) t ...

  7. 数据泵expdp/impdp导入导出详细说明

    目录 1.数据泵导出expdp详细参数 2.数据泵导入impdp详细参数 3.数据泵作业参数详细说明 3.1 EXPDP命令行选项 3.1.1 ATTACH 3.1.2 CONTENT 3.1.3 D ...

  8. oracle命令导入expdp,oracle的导入导出命令:expdp和impdp

    首先创建一个directory mkdir dump_dir 在oracle中创建directory并赋予用户读写权限 create directory dump_dir as '/database/ ...

  9. Excel导入导出详细教程------EasyExcel功能整合

    最详细的教程------EasyExcel导入与导出功能整合 1.开发环境参数 name Value 开发工具 Intellij IDEA 2018 框架 SpringBoot(maven项目也可以) ...

最新文章

  1. 状态模式的介绍及状态机模型的函数库javascript-state-machine的用法和源码解析
  2. javaweb各种乱码问题处理
  3. 第一门编程语言,我应该学什么?
  4. Volumetric 3D Mapping in Real-Time on a CPU
  5. atitit.vod search doc.doc 点播系统搜索功能设计文档
  6. matlab ga工具箱 使用教程,MATLAB深度学习工具箱使用教程
  7. 儿童python编程入门软件_一款儿童编程入门的理想工具——PythonTurtle
  8. Linux下基于TCP的视频传输(c++ )
  9. 老板必看:1.初创业团队没有激情,咋办? 2.小股东的选择
  10. 安卓图片轮播(banner)
  11. GDScript:关于派生类调用基类方法的一个注意事项
  12. python程序设计与案例教程王小银_《Python程序设计与案例教程》王小银著【摘要 书评 在线阅读】-苏宁易购图书...
  13. 一文看懂智慧城市,解码25万亿大市场的机遇与格局
  14. [欣赏]——天长地久
  15. 跳过微信屏蔽APP扫描以及识别不同系统的手机
  16. 机器学习三剑客之Matplotlab
  17. Linux下的she'll script
  18. 怎么在yocto里面添加自己的代码模块
  19. VSCode 官网,下载安装包太慢,将地址中的 az764295.vo.msecnd.net 更换为  vscode.cdn.azure.cn
  20. 数理统计——生物统计学的数学基础

热门文章

  1. DRAGAN + SRCNN 的简单理解
  2. rabbitmq-5-案例1-简单的案例
  3. 穷不过三代,囧不过三个公司——程序员如何通过努力让自己看上去很光鲜
  4. 设计中色彩的注意事项有哪些
  5. Module(模块)
  6. url 编码 与 接口签名
  7. Linux基础知识part3
  8. 第二节:垃圾回收期算法简介
  9. web farm 讨论引出
  10. ubuntu discuz mysqli_connect() 不支持 advice_mysqli_connect的解决方法