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

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

 

Noiz Agent Noiz Agent

AI声音创作Agent平台

Noiz Agent 323 查看详情 Noiz Agent

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

 

在实际的生产或测试环境中,我们可以使用 ASM来存放 DataPump dump文件,使用如下命令创建 directory对象即可:

 

Createdirectory dp_dir as ‘+DATA/dump’;

 

当我们无法使用类似于 ASM、ACFS、NFS之类的共享存储时,如果想要使用

PARALLEL参数来执行 Data Pump job,还是有一些方法的:

1、在一个节点上执行 Data Pump进程,关闭其他节点

2、在 Data Pump job中指定 CLUSTER参数(YES或NO),该参数指定 Data Pump job 是否可以使用 Oracle RAC的资源以及是否可以在其他 RAC实例上启动 worker进程。

     将 CLUSTER参数设置为 NO可以强制使 DataPump job只使用启动 job的实例上的资源。

     将 CLUSTER参数设置为 YES,并设置SERVICE_NAME定义一个资源组,将特定的数据库实例包含到该资源组中,可以使 Data Pump job使用特定的RAC实例上的资源。

 

影响 Data Pump性能调整建议:

确保 dump文件各成员最好存储在单独的磁盘上,因为 dump文件的读和写是并行性的。同时 dump文件不应与 source表空间和 target表空间放在相同的磁盘上。

 

使用压缩和加密相关的参数也会影响 Data Pump的性能,对原始数据执行这些转换操作会消耗额外的 CPU资源。

 

影响 Data Pump性能的初始化参数:

 

DISK_ASYNCH_IO=TRUE

DB_BLOCK_CHECKING=FALSE

DB_BLOCK_CHECKSUM=FALSE

 

SHARED_POOL_SIZE

UNDO_TABLESPACE

 

STREAMS_POOL_SIZE

Data Pump使用 stream功能在各个进程之间进行通信,如果设置了 SGA_TARGET,则该参数会自动设置为合理的值。

如果未设置SGA_TARGET,则STREAMS_POOL_SIZE的值默认会自动设置为 shared pool大小的 10%。Oracle推荐STREAMS_POOL_SIZE的值不应小于 10MB.

 

为了提高并行度,还需要将如下参数设置为足够的值:

 

PROCESSES

SESSIONS

PARALLEL_MAX_SERVERS

作者:xiangsir

9061365

QQ:444367417

MSN:xiangsir@hotmail.com

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/895393.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
《贵州通》开通会员钱包方法
上一篇 2025年11月28日 17:30:38
小米14怎么清理内存?
下一篇 2025年11月28日 17:30:41

相关推荐

  • Oracle存储过程批量更新的性能优化策略

    Oracle存储过程批量更新的性能优化策略Oracle存储过程批量更新的性能优化策略Oracle存储过程批量更新的性能优化策略Oracle存储过程批量更新的性能优化策略

    Oracle存储过程批量更新的性能优化策略 在Oracle数据库中,存储过程是一种用来处理数据逻辑或执行特定任务的数据库对象,可以提供一定的性能优化策略,特别是在批量更新数据时。批量更新数据通常会涉及大量的行级操作,为了提高性能和效率,我们可以采取一些策略和技巧来优化存储过程的性能。下面将介绍一些O…

    2026年9月26日 • 用户投稿
    500
  • Oracle默认账号密码的安全性分析

    Oracle默认账号密码的安全性分析Oracle默认账号密码的安全性分析Oracle默认账号密码的安全性分析Oracle默认账号密码的安全性分析

    Oracle数据库是一款流行的关系型数据库管理系统,许多企业和组织都选择使用Oracle来存储和管理其重要数据。在Oracle数据库中,有一些默认账号和密码是系统预设的,例如sys、system等。在日常的数据库管理和运维工作中,管理员需要重视这些默认账号密码的安全性,因为这些账号具有较高的权限,一…

    2026年9月26日 • 用户投稿
    000
  • Oracle 中常见的日志类型及配置方法

    Oracle 中常见的日志类型及配置方法Oracle 中常见的日志类型及配置方法Oracle 中常见的日志类型及配置方法Oracle 中常见的日志类型及配置方法

    Oracle 中常见的日志类型及配置方法 Oracle 数据库是业界领先的关系型数据库管理系统之一,它提供了丰富的日志类型来记录数据库的操作和性能信息。在实际的数据库管理工作中,了解并配置好这些日志类型对于监控和优化数据库非常重要。本文将介绍 Oracle 中常见的日志类型及配置方法,同时提供相应的…

    2026年9月26日 • 用户投稿
    000
  • Oracle NVL函数详解及用法示例

    Oracle NVL函数详解及用法示例Oracle NVL函数详解及用法示例Oracle NVL函数详解及用法示例Oracle NVL函数详解及用法示例

    Oracle NVL函数详解及用法示例 在Oracle数据库中,NVL函数是一种非常常用的函数,其作用是用于判断一个值是否为null,若为null则返回另一个指定的值。本文将详细介绍NVL函数的语法、用法及提供一些示例代码以帮助读者更好地理解和应用NVL函数。 1. NVL函数语法 NVL函数的语法…

    2026年9月26日 • 用户投稿
    000
  • Oracle锁表异常解决方案分享

    Oracle锁表异常解决方案分享Oracle锁表异常解决方案分享Oracle锁表异常解决方案分享Oracle锁表异常解决方案分享

    Oracle锁表异常解决方案分享 在使用Oracle数据库过程中,偶尔会遇到因为表被锁导致的异常情况,表现为无法正常执行SQL语句或者长时间等待的情况。这时候需要及时解决锁表问题,以保证数据库的正常运行。本文将介绍一些常见的Oracle锁表异常解决方案,并提供具体的代码示例。 一、查找锁表会话 在遇…

    2026年9月26日 • 用户投稿
    100
  • Oracle SQL中除法运算示例

    Oracle SQL中除法运算示例Oracle SQL中除法运算示例Oracle SQL中除法运算示例Oracle SQL中除法运算示例

    标题:Oracle SQL中除法运算示例 在Oracle SQL数据库中,除法运算是常见且重要的运算之一。对于需要对数据进行除法运算的情况,我们可以借助Oracle SQL提供的特定函数和运算符来实现。本文将详细介绍在Oracle SQL中如何进行除法运算,并提供具体的代码示例。 在Oracle S…

    2026年9月26日 • 用户投稿
    000
  • Oracle 日志功能解析与应用指南

    Oracle 日志功能解析与应用指南Oracle 日志功能解析与应用指南Oracle 日志功能解析与应用指南Oracle 日志功能解析与应用指南

    标题:Oracle 日志功能解析与应用指南 Oracle 数据库作为一款业界优秀的关系型数据库管理系统,拥有强大的日志功能,这一功能在数据库的性能优化、数据恢复、事务管理等方面都起着至关重要的作用。本文将对Oracle数据库中的日志功能进行深入解析,并提供具体的代码示例,帮助读者更好地了解和应用日志…

    2026年9月26日 • 用户投稿
    000
  • Oracle中表被锁的原因及解决方法有哪些?

    Oracle中表被锁的原因及解决方法有哪些?Oracle中表被锁的原因及解决方法有哪些?Oracle中表被锁的原因及解决方法有哪些?Oracle中表被锁的原因及解决方法有哪些?

    标题:Oracle中表被锁的原因及解决方法 在Oracle数据库中,表被锁是数据库操作中常见的问题之一。表锁定可能会导致数据库性能下降和应用程序无法正常运行。本文将介绍Oracle中表被锁的原因,并提供解决此问题的具体代码示例。 原因 表被锁的原因通常包括以下几点: 事务未提交:当一个事务正在对表进…

    2026年9月26日 • 用户投稿
    200
  • thinkphp如何使用模版

    thinkphp如何使用模版thinkphp如何使用模版thinkphp如何使用模版thinkphp如何使用模版

    在模块的控制器目录下,创建一个控制器类文件。 相关推荐:《ThinkPHP教程》 编写控制器文件。 立即学习“PHP免费学习笔记(深入)”; 继续完善控制器,添加一个方法。 如知AI笔记 如知笔记——支持markdown的在线笔记,支持ai智能写作、AI搜索,支持DeepseekR1满血大模型 27…

    2026年9月26日 • 用户投稿
    000
  • PL/SQL在MySQL中的替代方案

    PL/SQL在MySQL中的替代方案PL/SQL在MySQL中的替代方案PL/SQL在MySQL中的替代方案PL/SQL在MySQL中的替代方案

    PL/SQL是Oracle数据库中常用的过程化编程语言,用于编写存储过程、触发器、函数等数据库对象。在MySQL数据库中,并没有直接的PL/SQL支持,但可以通过使用存储过程和触发器来实现类似功能。本文将介绍在MySQL中实现类似PL/SQL功能的替代方案,并附带具体的代码示例。 一、存储过程 在M…

    2026年9月25日 • 用户投稿
    000
  • MySQL触发器的定义与使用方法详解

    MySQL触发器的定义与使用方法详解MySQL触发器的定义与使用方法详解MySQL触发器的定义与使用方法详解MySQL触发器的定义与使用方法详解

    MySQL触发器的定义与使用方法详解 MySQL触发器是一种特殊的存储过程,可以在表发生特定事件时自动执行。触发器可以用于实现 数据的自动化处理、数据一致性维护等功能。本文将详细介绍MySQL触发器的定义与使用方法,并提供具体的代码示例。 触发器的定义在MySQL中,触发器的定义是通过CREATE …

    2026年9月25日 • 用户投稿
    100
  • win8系统怎么安装xp虚拟机_Win8 XP虚拟机安装方法

    win8系统怎么安装xp虚拟机_Win8 XP虚拟机安装方法win8系统怎么安装xp虚拟机_Win8 XP虚拟机安装方法win8系统怎么安装xp虚拟机_Win8 XP虚拟机安装方法win8系统怎么安装xp虚拟机_Win8 XP虚拟机安装方法

    首先启用CPU虚拟化功能,进入BIOS开启Intel VT-x或AMD-V;然后安装VMware Player或VirtualBox,创建自定义虚拟机并选择Windows XP系统类型,分配1024MB内存和至少20GB硬盘,设置硬盘控制器为IDE;接着加载XP ISO镜像启动安装,按提示分区并完成…

    2026年9月24日 • 用户投稿
    100
  • mysql和sql server一样吗

    mysql和sql server一样吗mysql和sql server一样吗mysql和sql server一样吗mysql和sql server一样吗

    否,MySQL 和 SQL Server 并非相同。它们是两种不同的关系型数据库管理系统(RDBMS),尽管共享 SQL 兼容性和关系数据模型,但存在以下关键差异:所有权:MySQL 为开源,SQL Server 为专有。许可:MySQL 为免费,SQL Server 为商业许可。架构:MySQL …

    2026年9月24日 • 用户投稿
    200
  • 袋鼠数据库工具 8.90.1 版已上线

    袋鼠数据库工具 8.90.1 版已上线袋鼠数据库工具 8.90.1 版已上线袋鼠数据库工具 8.90.1 版已上线袋鼠数据库工具 8.90.1 版已上线

    袋鼠数据库工具 是一款由 ai 驱动的主流数据库系统客户端,支持多种数据库类型,包括 mariadb、mongodb、mysql、oracle、postgresql、redis、sqlite、sqlserver 等,具备建表、数据查询、模型设计、结构同步、数据导入导出等丰富功能。兼容 windows…

    2026年9月24日 • 用户投稿
    100
  • yii2项目中如何使用redis

    yii2项目中如何使用redisyii2项目中如何使用redisyii2项目中如何使用redisyii2项目中如何使用redis

    想要在Yii2这个PHP框架中很好的使用redis键值存储,那么首先就要推荐yii2-redis这个官方的Github库。这个库能够很好的帮助我们在Yii2框架中使用redis,它提供缓存,Session以及ActiveRecord模式的支持。 安装yii2-redis库 推荐使用composer安…

    2026年9月24日 • 用户投稿
    1500
  • 如何在Debian 10(Buster)Linux上安装MySQL

    了解如何在debian 10(buster)linux上安装mysql。本指南将引导您完成在最新版本的debian系统上安装mysql 8或mysql 5.7的步骤。 第1步 – 准备工作 首先,确保您拥有Debian 10系统的shell访问权限。如果是远程系统,可以通过SSH连接。W…

    2026年9月24日
    1000
  • 如何在ThinkPHP6中使用Shardig数据库

    在现代web应用程序的开发过程中,数据量通常很大,为了应对这种情况并提升数据库性能,通常会采用分库分表的方式进行数据管理。sharding数据库则是一种常见的实现方式,它可以将数据分散在多个不同的数据库集群上进行管理,以此实现数据的高可用性和性能提升。本文将介绍如何在thinkphp6中使用shar…

    用户投稿 2026年9月24日
    000
  • 数据实时迁移同步工具 CloudCanal v5.2.0.0 发布,支持 SaaS 全托管

    cloudcanal 免费社区版 是 clougence 公司推出的一款全自研、可视化、自动化数据迁移同步工具,具备 结构迁移、数据迁移、数据同步、数据校验、数据订正 等功能,支持 60+ 款流行关系型数据库、实时数仓、消息中间件、缓存数据库和搜索引擎之间数据互通,其中包含国产数据库 oceanba…

    2026年9月24日
    100
  • mysql在哪里输入创建表语句 mysql代码执行环境介绍

    mysql在哪里输入创建表语句 mysql代码执行环境介绍mysql在哪里输入创建表语句 mysql代码执行环境介绍mysql在哪里输入创建表语句 mysql代码执行环境介绍mysql在哪里输入创建表语句 mysql代码执行环境介绍

    选择mysql客户端需根据工作习惯和需求决定。①若喜欢敲命令,可选mysql自带命令行客户端,轻量直接但需记忆命令;②若偏好图形界面,navicat或dbeaver更直观,支持可视化操作,其中dbeaver跨平台且支持多数据库;③其他常用工具如sql developer(适合oracle用户)、da…

    2026年9月23日 • 用户投稿
    300
  • 如何在Java中安装Eclipse开发环境

    先安装JDK并配置环境变量,再下载安装Eclipse IDE。1. 安装JDK:从Oracle或Eclipse Adoptium下载JDK 17/21,按提示安装,设置JAVA_HOME和PATH,用java -version验证。2. 安装Eclipse:官网下载“Eclipse IDE for …

    2026年9月23日
    300

发表回复

登录后才能评论
关注微信