当前位置:主页 > 数据库 > MySQL >

怎样在 Oracle RAC 环境下使用 Parallel 参数提高 Data Pump job

时间:2019-11-09 | 栏目:MySQL | 点击:

Data Pump 可以并行运行多个 worker 进程来提高 DataPump job 的性能。将 PARALLEL 参数设置为合理并行度可以充分利用当前的条件来提高性能。为了限制 Data Pump job 对生产系统的影响, DBA 可以对 job 的并行度进行限制。例如,在业务系统生产期间可以将 P

Data Pump可以并行运行多个 worker进程来提高 DataPump job的性能。将 PARALLEL参数设置为合理并行度可以充分利用当前的条件来提高性能。为了限制 Data Pump job对生产系统的影响,DBA可以对 job的并行度进行限制。例如,在业务系统生产期间可以将 PARALLEL设置为 2,在非生产期间可以将并行度设置为 8,可以在 job运行的任何时间调整 PARALLEL参数的值。并行度设置由 master进程实施,该进程负责为执行数据和元数据处理操作的每个 worker进程分配任务。Worker进程以并行方式运行。一般而言,并行度不应超过数据库实例所在服务器 CPU数量的两倍。

仅支持在Enterprise Edition of Oracle Database中调整并行度,在 StandardEdition of Oracle Database

并行度的值限制为 1

Worker进程就是实际并行执行元数据和表数据导入导出操作的的进程。Data Pump job运行期间会根据需要创建 worker进程,work进程的数量小于等于PARALLEL参数所设置的值。Worker进程的数量可以在整个job的运行周期内随时调整。在 Oracle RAC环境下,worker进程可以在 RAC上的任意节点上启动。在Oracle RAC环境下,如果 PARALLEL=1,则 Data Pump进程会在启动 job的实例上运行,因此,在单实例场景或者 RAC场景下(PARALLEL=1时)directory对象可以指向实例所在的本地存储。

单实例场景下PARALLEL参数使用示例:

SQL> createdirectory dp_dir as '/home/oracle/backup';

SQL> grantread,write on directory dp_dir to system;

[oracle@prod ~]$expdp system/oracle123 parallel=2 schemas=scott \

>directory=dp_dir dumpfile=scott_%U.emp

[oracle@prod ~]$expdp system/oracle123 attach=SYS_EXPORT_SCHEMA_01

Job:SYS_EXPORT_SCHEMA_01

Owner: SYSTEM

Operation: EXPORT

Creator Privs: TRUE

GUID: DE906BA6FC730F15E043B408A8C049CD

Start Time: Friday, 07 June, 2013 20:18:03

Mode: SCHEMA

Instance: prod

Max Parallelism: 2

EXPORT Job Parameters:

Parameter Name Parameter Value:

CLIENT_COMMAND system/******** parallel=2schemas=scott directory=dp_dir dumpfile=scott_%U.emp

State: EXECUTING

Bytes Processed: 0

Current Parallelism: 2

Job Error Count: 0

Dump File: /home/oracle/backup/scott.emp

bytes written: 4,096

Worker 1 Status:

Process Name: DW00

State: EXECUTING

Export> status

Job:SYS_EXPORT_SCHEMA_01

Operation: EXPORT

Mode: SCHEMA

State: EXECUTING

Bytes Processed: 0

Current Parallelism: 2

Job Error Count: 0

Dump File: /home/oracle/backup/scott.emp

bytes written: 4,096

Worker 1 Status:

Process Name: DW00

State: EXECUTING

Object Schema: SCOTT

Object Name: TEST

Object Type: SCHEMA_EXPORT/TABLE/TABLE_DATA

Completed Objects: 5

Total Objects: 5

Worker Parallelism: 1

Worker 2 Status:

Process Name: DW01

State: EXECUTING

Object Schema: SCOTT

Object Name: DEPT

Object Type: SCHEMA_EXPORT/TABLE/TABLE_DATA

Completed Objects: 1

Total Objects: 5

Worker Parallelism: 1

Oracle RAC环境下,如果 PARALLEL的值大于1,则 Data Pump进程可能会在启动 job的实例以外的其他实例上运行。因此,在RAC环境(PARALLEL不等于1时),directory对象必须指向Oracle RAC的所有实例都能访问的共享存储上。如果 directory对象所指的位置为非共享存储,则极可能报如下错误:

Starting"SYSTEM"."SYS_EXPORT_SCHEMA_01": system/******** SCHEMAS=HX_SB,HX_ZS,HX_PZdumpfile=expdp_hxsb7_%U.dmp logfile=expdp_hxsb7.log DIRECTORY=dp_dirCOMPRESSION=ALL EXCLUDE=GRANT,TRIGGER,

STATISTICSPARALLEL=3 flashback_scn=13374657833367

ORA-31693: Tabledata object "HX_SB"."SB_SBXX":"P25001_PRE" failedto load/unload and is being skipped due to error:

ORA-31617: unable toopen dump file "/home/oracle/backup/expdp_hxsb7_03.dmp" for write

ORA-19505: failed toidentify file "/home/oracle/backup/expdp_hxsb7_03.dmp"

ORA-27037: unable toobtain file status

IBM AIX RISCSystem/6000 Error: 2: No such file or directory

Additionalinformation: 3

您可能感兴趣的文章:

相关文章