ORACLE 10.2.0.4外部表并行卸载数据测试
May172013
最近一直在给客户部署OGG,客户的一个应用数据库使用了VPD加密数据,而且源端和目标端的表结构不一致,这样传统的EXP/EXPDP无法满足数据初始化,于是我使用了外部表来初始化数据,在默认模式下,经过测试,外部表每秒可以卸载1G的数据,本文主要对比并行模式下,外部表的卸载效率。
以下是测试表实验表,大小约2G。
SQL> select bytes/1024/1024/1024 from dba_segments where segment_name='HIS_R_MID_TABLE' and owner='EPM_HIS'; BYTES/1024/1024/1024 -------------------- 19.3974609
在不开并行的时候,需要18秒可以卸载完成。
SQL> create table HIS_R_MID_TABLE_unload 2 organization external 3 (type oracle_datapump 4 default directory backup 5 location('HIS_R_MID_TABLE.dmp')) 6 as select * from EPM_HIS.HIS_R_MID_TABLE; Table created. Elapsed: 00:18:41.50
使用4个并行,只需要4秒就可卸载完数据。
SQL> drop table HIS_R_MID_TABLE_unload purge; Table dropped. Elapsed: 00:00:00.20 SQL> create table HIS_R_MID_TABLE_unload 2 organization external 3 (type oracle_datapump 4 default directory backup 5 location('HIS_R_MID_TABLE_1.dmp','HIS_R_MID_TABLE_2.dmp','HIS_R_MID_TABLE_3.dmp','HIS_R_MID_TABLE_4.dmp')) 6 parallel 4 7 as select * from EPM_HIS.HIS_R_MID_TABLE; Table created. Elapsed: 00:04:03.95
在开4个并行的时候,磁盘I/O刚好达到极限,经多次测试,在4个并行的时候,客户的环境卸载速率最快。