expdp时产生的dmp文件数比PARALLEL参数中指定的多

2024年2月13日 0 作者 XiaofeiHuangfu

适用范围

数据库:Oracle 10g 10.2.0.4

平台:AIX 6.1

问题概述

在进行数据库U2L迁移时,源端使用expdp导出时,创建的dmp文件数量比parfile中指定的parallel大。parallel指定的是6,产出了7个dmp文件。

parfile:

prod_full_expdp.par

dumpfile=PROD_FULL_%U.dmp
logfile=exppd_logfile_prodf_ull.log
directory=expdp_dir
parallel=6

logfile:

;;;
Export: Release 10.2.0.4.0 – 64bit Production on Friday, 08 December, 2023 19:42:07

Copyright © 2003, 2007, Oracle. All rights reserved.
;;;
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting “SYS”.“SYS_EXPORT_FULL_01”: “/******** AS SYSDBA” parfile=prod_full_expdp.par
Estimate in progress using BLOCKS method…
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 250.1 GB
Processing object type DATABASE_EXPORT/TABLESPACE
Processing object type DATABASE_EXPORT/PROFILE

Master table “SYS”.“SYS_EXPORT_FULL_01” successfully loaded/unloaded


Dump file set for SYS.SYS_EXPORT_FULL_01 is:

/bacup/dumpfile/PROD_FULL_01.dmp
/bacup/dumpfile/PROD_FULL_02.dmp
/bacup/dumpfile/PROD_FULL_03.dmp
/bacup/dumpfile/PROD_FULL_04.dmp
/bacup/dumpfile/PROD_FULL_05.dmp
/bacup/dumpfile/PROD_FULL_06.dmp
/bacup/dumpfile/PROD_FULL_07.dmp

Job “SYS”.“SYS_EXPORT_FULL_01” successfully completed at 19:58:57

问题原因

首先,这种现象并不是一个问题,expdp日志没有报错,impdp也正常。PARALLEL参数并没有定义要产出多少个dmp文件,它定义了Data Pump操作可以使用的并行进程的最大数量。dumpfile参数我们可以使用%U通配符可以生产多个dmp文件。

一般情况下,Data Pump Export时PARALLEL参数值应该小于或等于dmp文件数量。Data Pump Import时PARALLEL参数值不应该比转储文件集中的文件数大太多。

解决方案

1、expdp日志正常和impdp正常执行的情况下,可以忽略该现象。
2、如果对dmp文件数量有严格要求,可以在expdp时使用filesise参数。