ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 10g数据泵和导入导出性能对比(五)

10g数据泵和导入导出性能对比(五)

原创 Linux操作系统 作者:yangtingkun 时间:2009-06-19 23:48:41 0 删除 编辑

前一段时间在一次迁移中同时用到了数据泵和EXP,发现二者效率的差别还是相当大的。这里通过一个例子简单比较一下。

这篇文章讨论影响数据泵导入性能的最大因素。

10g数据泵和导入导出性能对比(一):http://yangtingkun.itpub.net/post/468/321482

10g数据泵和导入导出性能对比(二):http://yangtingkun.itpub.net/post/468/323899

10g数据泵和导入导出性能对比(三):http://yangtingkun.itpub.net/post/468/328465

10g数据泵和导入导出性能对比(四):http://yangtingkun.itpub.net/post/468/457459

 

 

前面写了几篇文章,分别介绍EXP/IMPEXPDP/IMPDP的性能对比,根据前面几篇文章的描述,如果不使用并行,似乎IMPDP的效率要比IMP没有一个数量级的提示。对于当前的环境而言,事实确实如此。不过前面一直没有描述一个重要的因素,当然的数据库环境由于配置了STANDBY数据库,因此不但处于归档模式,还设置了FORCE LOGGING

SQL> SELECT NAME, LOG_MODE, FORCE_LOGGING FROM V$DATABASE;

NAME      LOG_MODE     FOR
--------- ------------ ---
TESTRAC   ARCHIVELOG   YES

而数据泵的最大优势莫过于直接路径导入,下面关闭FORCE LOGGING,并将数据库至于非归档模式下,检查数据泵导入效率。

导出操作:

bash-2.03$ expdp zhejiang/zhejiang directory=d_test dumpfile=zhejiang.dp

Export: Release 10.2.0.3.0 - 64bit Production on 星期一, 20 4, 2009 0:51:13

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
启动 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01":  zhejiang/******** directory=d_test dumpfile=zhejiang.dp
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 22.64 GB
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/SYNONYM/SYNONYM
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_SPEC
处理对象类型 SCHEMA_EXPORT/DB_LINK
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_BODY
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. .
导出了 "ZHEJIANG"."ORD_HIT_COMM"                   3.255 GB 4176146
. .
导出了 "ZHEJIANG"."ORD_ORDER_ITEM"                 1.890 GB 3226647
.
.
.
. .
导出了 "ZHEJIANG"."UNC_USER_NON"                       0 KB       0
. .
导出了 "ZHEJIANG"."USR_USER_PLAT_ROLE"                 0 KB       0
已成功加载/卸载了主表 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
ZHEJIANG.SYS_EXPORT_SCHEMA_01
的转储文件集为:
  /data1/backup/zhejiang.dp
作业 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01" 已于 01:04:48 成功完成

导出用时1335秒。

下面删除浙江用户,重启数据库,并将数据库至于非归档模式,同时去掉数据库的FORCE LOGGING设置:

SQL> DROP USER ZHEJIANG CASCADE;

用户已删除。

SQL> EXIT
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
断开
bash-2.03$ srvctl stop db -d testrac
bash-2.03$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.3.0 - Production on 星期一 4 20 01:20:39 2009

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

已连接到空闲例程。

SQL> startup mount
ORACLE
例程已经启动。

Total System Global Area 2147483648 bytes
Fixed Size                  2031480 bytes
Variable Size             469762184 bytes
Database Buffers         1660944384 bytes
Redo Buffers               14745600 bytes
数据库装载完毕。
SQL> alter database noarchivelog;

数据库已更改。

SQL> alter database no force logging;

数据库已更改。

SQL> alter database open;

数据库已更改。

创建浙江用户并授权:

SQL> create user zhejiang identified by zhejiang default tablespace zhejiang;

用户已创建。

SQL> grant connect, resource to zhejiang;

授权成功。

SQL> grant create database link, create synonym, create view to zhejiang;

授权成功。

SQL> grant read, write on directory d_test to zhejiang;

授权成功。

执行导入操作:

bash-2.03$ impdp zhejiang/zhejiang DUMPFILE=zhejiang.dp DIRECTORY=d_test FULL=y LOGFILE=zhejiang.log

Import: Release 10.2.0.3.0 - 64bit Production on 星期一, 20 4, 2009 1:40:01

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
已成功加载/卸载了主表 "ZHEJIANG"."SYS_IMPORT_FULL_01"
启动 "ZHEJIANG"."SYS_IMPORT_FULL_01":  zhejiang/******** DUMPFILE=zhejiang.dp DIRECTORY=d_test FULL=y LOGFILE=zhejiang.log
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/SYNONYM/SYNONYM
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_SPEC
处理对象类型 SCHEMA_EXPORT/DB_LINK
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. .
导入了 "ZHEJIANG"."ORD_HIT_COMM"                   3.255 GB 4176146
. .
导入了 "ZHEJIANG"."ORD_ORDER_ITEM"                 1.890 GB 3226647
.
.
.
. .
导入了 "ZHEJIANG"."UNC_USER_NON"                       0 KB       0
. .
导入了 "ZHEJIANG"."USR_USER_PLAT_ROLE"                 0 KB       0
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_BODY
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "ZHEJIANG"."SYS_IMPORT_FULL_01" 已经完成, 但是有 34 个错误 ( 04:02:13 完成)

导入用时2小时2212秒。可以看到,这次根本没有使用任何的并行设置,就将导入时间缩短了46分钟。

这说明数据泵导入与传统导入相比,最大的性能优势在于可以利用直接路径的方式进行导入。如果要进行大批量的数据泵导入,可以考虑先将数据库置于NOARCHIVELOG模式,等到导入结束后,再修改为ARCHIVELOG模式。

 

 

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

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10423132