怎样在 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:08
下一篇 2025年11月28日 17:30:50

相关推荐

  • Oracle DATE 类型存储时间戳及如何仅存储日期

    本文旨在解释 Oracle 数据库中 DATE 类型总是包含时间戳的原因,并提供在数据库中存储日期时去除时间部分的方法,重点介绍如何通过格式化函数控制日期显示,而非修改数据库结构。 在 Oracle 数据库中,DATE 类型的设计初衷就是同时存储日期和时间信息。即使你只关心日期部分,DATE 类型仍…

    2025年12月6日 java
    000
  • mysql中事务隔离级别有哪些

    读未提交允许读取未提交数据,易引发脏读、不可重复读和幻读;2. 读已提交确保读取已提交数据,避免脏读但存在不可重复读和幻读;3. 可重复读保证事务内多次读取一致,MySQL默认级别,通过MVCC和间隙锁减少幻读;4. 串行化强制事务串行执行,避免所有并发问题但性能最差。选择隔离级别需权衡一致性与性能…

    2025年12月6日 数据库
    000
  • 优化MySQL电话号码字段搜索:解决空格与格式多样性问题

    本文详细介绍了在mysql数据库中,如何高效地搜索包含空格或多种格式的电话号码字段。针对`like`查询无法识别空格字符的问题,核心解决方案是利用`replace`函数在查询时移除字段中的空格,从而实现准确匹配。教程还将探讨更全面的数据清洗策略和性能优化建议,以提升搜索效率和数据质量。 在数据库管理…

    2025年12月6日 后端开发
    000
  • OpenJPA 在 Oracle 中处理字符串长度限制的警告与解决方案

    本文深入探讨了 openjpa 在与 oracle 数据库交互时,针对字符串字段可能遇到的“值超过 4000 字节/字符”的警告信息。该警告源于 oracle `varchar2` 数据类型的默认 4000 字节限制。教程将详细介绍两种主要的解决方案:通过 `@column(length = n)`…

    2025年12月6日 java
    000
  • Java中MANIFEST.MF的作用 详解清单文件

    manifest.mf是java中jar文件的元数据配置文件,位于meta-inf目录下,用于定义版本、主类、依赖路径等关键信息。1. 它允许指定入口类,使jar可直接运行;2. 通过class-path管理依赖,减少类加载冲突;3. 可配置安全权限,如设置沙箱运行;4. 常见属性包括manifes…

    2025年12月5日 java
    000
  • Java中枚举类型怎么定义 掌握Java枚举的定义和常用方法

    java中定义枚举类型使用enum关键字,例如public enum weekday { monday, tuesday,…};枚举可包含字段和方法,如添加中文名称字段及获取方法;可在switch语句中使用,确保覆盖所有值;常用方法包括values()、valueof()、ordinal…

    2025年12月4日 java
    000
  • oracle/mysql拼接值遇到的坑及双竖线||和concat怎么使用

    %ign%ignore_a_1%re_a_1% mysql 拼接值遇到的坑 双竖线 || concat || “||” 在oracle中是拼接值,但在mysql中是“或”的意思。 where name like ‘%’ || ‘Tony’ || ‘%’ 所以推荐使用concat() concat()…

    数据库 2025年12月4日
    000
  • Linux实现自动挂载autofs的方法详解

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 目录 实现自动挂载-autofs autofs工具简单使用 autofs配置详细说明 自动挂载资源有两种格式 优化Linux系统性能 安装Tuned 选择调整配置文件 检查系统推荐的调整配置文件…

    2025年12月4日
    000
  • composer如何强制重新安装所有依赖

    最直接的方法是删除vendor目录和composer.lock文件,再运行composer install。这能彻底清除旧依赖和版本锁定信息,让Composer根据composer.json重新解析并安装所有依赖,适用于解决因缓存、环境不一致或lock文件损坏导致的复杂依赖问题。 要强制Compos…

    2025年12月4日
    000
  • 简易项目搭建(用于一般杂七杂八的小功能点)

    在工作中,我们常常会遇到许多需要完成的小功能点。以我自己的工作情况为例,最常见的是两个方面:1、控制台项目;2、web界面(纯前端)。 首先让我们讨论控制台项目的工作内容。在没有使用PostMan之前,工作中大量使用接口调用。在项目准备阶段,首先需要对接口的使用进行描述。在主要使用WebServic…

    2025年12月4日
    000
  • 分页功能如何实现?LIMIT与页码计算

    分页功能通过offset和limit截取数据实现。1.分页核心是计算偏移量(offset=(页码-1)每页条数)和限制数量;2.使用sql的limit子句或数据库特定语法(如sql server的offset…fetch next)执行查询;3.前端传页码和每页大小,后端计算偏移量并执行…

    2025年12月3日 后端开发
    000
  • Java中DAO模式的作用 解析DAO模式封装数据访问的价值

    dao模式通过解耦业务逻辑与数据访问,解决了数据库切换困难、sql注入风险和代码重复问题。其核心价值在于将数据访问细节封装在接口和实现类中,使业务代码仅面向接口编程,从而降低维护成本。具体步骤包括:1.定义dao接口;2.创建具体实现类;3.使用工厂模式获取实例;4.在业务逻辑中调用dao方法。技术…

    2025年12月3日 java
    000
  • Swoole如何做数据加密?加密算法如何选择?

    Swoole中数据加密依赖PHP的OpenSSL扩展,通过选择AES、RSA等算法实现;在Server或Client的接收与发送过程中进行加解密操作,结合CBC、GCM等模式保障安全与性能;密钥应通过环境变量或配置文件管理,避免硬编码;为防止中间人攻击,应启用TLS/SSL加密通信,并在WebSoc…

    2025年12月3日
    100
  • Swoole如何实现多租户?租户隔离怎么操作?

    Swoole实现多租户的核心在于协程上下文隔离,通过Coroutine::getContext()绑定租户ID、数据库连接、缓存前缀等上下文信息,在请求入口识别租户并加载配置,确保数据、缓存、文件存储、数据库连接等资源按租户隔离,避免长驻内存导致的数据泄露,结合连接池重置、缓存键前缀、独立表或库等策…

    2025年12月3日
    000
  • 荣耀手机添加黑名单的具体步骤

    困扰于频繁骚扰的信息和电话?php小编子墨为大家带来荣耀手机添加黑名单的详细教程,一步步指导您轻松屏蔽不受欢迎的来电和短信,为您的通讯环境带来清净。赶快继续阅读下方内容,掌握添加黑名单的技巧,享受无干扰的通讯体验! 1.首先我们打开电话簿,找到你想要拉黑的联系人 2.点击更多,点击加入黑名单即可 以…

    2025年12月3日
    000
  • 2023合同管理软件排名:前10名榜单

    合同管理软件依托信息技术,结合现代企业的先进管理思想,为企业构建起一个集决策、规划、控制及经营绩效评估于一体的全方位、系统化的管理平台。企业在开展经济活动时,通常以合同为纽带,合同管理的效果直接关系到经营的成败。作为企业管理的重要组成部分,合同管理对业务流程的规范化、数据的准确性以及信息传递的安全性…

    2025年12月3日 软件教程
    000
  • 如何在PHP中配置Oracle数据库连接池的详细教程?

    在php中配置oracle数据库连接池需依赖oracle工具和配置,而非php本身。1. 安装oracle instant client并配置环境变量,安装oci8扩展并在php.ini中启用;2. 在oracle端启用drcp连接池,使用dbms_connection_pool包启动并调整参数;3…

    2025年12月3日 后端开发
    000
  • 零基础学Java课程安排建议

    it行业目前非常热门,对于大学生而言,若想在大学期间学习java但又毫无基础,以下是一份适合的课程学习流程推荐: 1、 公共基础知识:初步了解计算机网络和数据结构的基础内容,掌握基本概念即可。 2、 Java基础课程大约需要三周时间完成,建议从视频教程开始学习。学完后可以在网上找一套系统的练习题进行…

    2025年12月3日 软件教程
    000
  • Windows2003系统下MySQL安装小结

    本文承接上文在windows2003系统中配置支持php的tomcat网站内容继续进行说明。 1、 支持列表中并未列出Windows 2003版本。 2、 我下载了社区版5.7.22,但在安装过程中提示“mysqld不是有效的Win32应用程序”,令人费解。 3、 随后选择降低版本,改用5.6.40…

    2025年12月3日 软件教程
    000
  • Oracle视图应用实战

    1、 在Oracle数据库中创建视图,并通过查询语句获取视图中的数据内容。 2、 对已存在的Oracle视图进行结构或定义修改,并执行重新编译以确保其有效性。 3、 %ignore_a_1%览当前数据库中存在的视图列表,并根据需要删除指定的视图对象。 4、 执行对Oracle视图的数据查询操作,同时…

    2025年12月3日 软件教程
    000

发表回复

登录后才能评论
关注微信