公司网站如何进入后台,郑州 网站建设有限公司,北京百度公司地址在哪里,wordpress表单发邮件最近帮一个客户做数据迁移测试#xff0c;数据库版本的10.2.0.4.0#xff0c;操作系统是AIX到Linux#xff0c;采用EXPDP/IMPDP方式进行全库导出和导入。客户的数据库有3.6T#xff0c;导出时间花了30小时#xff0c;但是导入却花了120小时#xff0c;这个很不正常。因为…最近帮一个客户做数据迁移测试数据库版本的10.2.0.4.0操作系统是AIX到Linux采用EXPDP/IMPDP方式进行全库导出和导入。客户的数据库有3.6T导出时间花了30小时但是导入却花了120小时这个很不正常。因为目标数据库的I/O效率比源数据库的I/O效率要高导入过程中发现导入表数据的时候很快而后来创建索引的时间特别长占了80%的时间。通过AWR报告分析竟然发现在导入过程中运行了下面语句ANALYZE TABLE XXX.XXXX COMPUTE STATISTICS;被分析的这个表450G分析了40小时的时间这个让人摸不到头脑后来查看了大量资料发现这是Oracle10g的一个bug就是在用expdp导出过程中如果某个表包含函数索引则在导入过着中会到该表进行分析通过形成导入脚本验证了这个说法。下面是验证过程Sqlplus system/****SQL create table test (id number, name varchar2(30)) tablespace users;SQLinsert into test values (1,’A’);SQLCOMMIT;Expdp system/******** directoryexpdir dumpfiletest01.dmp tablestestImpdp system/******** directoryexpdir dumpfiletest01.dmp sqlfiletest01.sql查看test01.sql的内容没有发现 表分析语句创建行数索引SQLcreate index idx_test on test(upper(name)) tablespace users;重新导出导入形成导入脚本发现脚本中包含下面内容CREATE INDEX SYSTEM.IDX_FUN_1 ON SYSTEM.TEST (UPPER(NAME))PCTFREE 10 INITRANS 2 MAXTRANS 255STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)TABLESPACE SYSTEM PARALLEL 1 ;ALTER INDEX SYSTEM.IDX_FUN_1 NOPARALLEL;-- new object type path is: TABLE_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICSDECLARE IND_NAME VARCHAR2(60);IND_OWNER VARCHAR2(60);BEGINDELETE FROM SYS.IMPDP_STATS;IND_NAME : IDX_FUN_1; IND_OWNER : SYSTEM;INSERT INTO SYS.IMPDP_STATS (type, version, flags, c1, c2, c3, c5,n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, d1)VALUES (I, 4, 2, IND_NAME, NULL, NULL, SYSTEM, 10, 1, 10, 1, 1, 1, 0, 10, NULL, NULL, NULL, NULL, TO_DATE(2015-11-25 16:02:35, YYYY-MM-DD:HH24:MI:SS));DBMS_STATS.IMPORT_INDEX_STATS( || ind_owner || , || ind_name || , NULL, IMPDP_STATS, NULL, SYS);DELETE FROM SYS.IMPDP_STATS;END;/-- new object type path is: TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSANALYZE TABLE SYSTEM.TEST COMPUTE STATISTICS;重新导出忽略统计信息Expdp system/******** directoryexpdir dumpfiletest04.dmp tablestest excludeSTATISTICSImpdp system/******** directoryexpdir dumpfiletest04.dmp sqlfiletest04.sql发现test04.sql中部包含表分析语句。结论在Oracle 10g 进行数据泵导出时最好不导出统计信息到导入后再进行统计信息的收集省得浪费时间进行无聊的表分析操作改bug在11g被消除。