您可以使用Oracle GoldenGate来:

  • 执行独立的批量加载以填充数据库表以进行迁移或其他用途。
  • 将数据作为初始同步运行的一部分加载到数据库表中,以准备与Oracle GoldenGate进行更改同步。

15.1.1提高初始负载的性能

除了使用数据库实用程序执行的所有初始加载方法外,您还可以通过使用并行Oracle GoldenGate进程更快地加载大型数据库。要使用并行处理,请执行以下步骤。

  1. 按照本章中的说明为要使用的每组并行进程创建初始加载提取和初始加载Replicat。
  2. 使用TABLE和MAP参数,为每对Extract-Replicat进程指定一组不同的表,或者可以使用TABLE的SQLPREDICATE选项对不同的Extract进程中的大型表进行分区。

对于所有初始加载方法,测试表明使用RMTHOST参数中的TCPBUFSIZE选项产生的吞吐量比没有它的加载速度快三倍。如果目标系统是NonStop,请不要使用此参数。

15.1.2初始加载的先决条件

验证您是否满足执行初始加载的先决条件,这些将在以下各节中介绍。

15.1.2.1禁用DDL处理

在执行初始加载之前,禁用DDL提取和复制。 DDL处理由Extract和Replicat参数文件中的DDL参数控制。

15.1.2.2准备目标表

以下是可以加快负载并帮助您避免错误的建议。

  • Data: 确保目标表是空的。否则,可能存在重复行错误或正在加载的现有行和行之间的冲突。
  • Constraints: 禁用外键约束并检查约束。外键约束可能会导致错误,并且检查约束会减慢加载过程。加载成功结束后,可以重新激活约束。
  • Indexes:从目标表中删除索引。插入索引不是必需的。他们将显着减缓加载过程。对于插入到表中的每一行,数据库将更新该表上的每个索引。加载完成后,您可以添加索引。

所有访问DB2 for z / OS目标表的应用程序都需要主索引。除主索引外,您可以从目标表中删除所有其他索引。

  • Keys: 为使Oracle GoldenGate协调复制的增量数据更改与加载结果,每个目标表必须具有主键或唯一键。如果您无法通过应用程序创建密钥,请使用TABLE和MAP参数的KEYCOLS选项将列指定为Oracle GoldenGate用途的替代密钥。一个关键字有助于识别要处理的行。如果您无法创建密钥,则源数据库必须停止加载。

15.1.2.3配置管理器进程

在源系统和目标系统上,配置并启动管理器进程。 One Manager可用于初始加载过程和更改同步过程。有关更多信息,请参阅配置管理器和网络通信

15.1.2.4创建一个数据定义文件

如果源数据库和目标数据库具有不同的定义,则需要数据定义文件。 Oracle GoldenGate使用此文件将数据转换为目标数据库所需的格式。有关更多信息,请参阅将复制数据与元数据关联

15.1.2.5创建更改同步组

要准备在初始加载期间捕获和复制事务性更改,请创建联机提取和复制组。您将在加载过程中启动这些组。请参阅配置联机更改同步以获取更多信息。

如果从安静的源数据库执行加载并且不会连续更改同步,则可以省略这些组

除非在初始加载指令中指示这么做,否则不要启动Extract或Replicat组。变更同步会在加载负载时跟踪事务性变更,然后将目标表与这些变更协调一致。

首次提取在新的Oracle GoldenGate配置中启动时,将跳过所有打开的事务。只有在提取开始后才开始的事务被捕获。

15.1.2.6在进程组之间共享参数

在初始加载Extract和初始加载Replicat参数文件中,还需要在更改同步参数文件中使用的某些参数。您可以将这些参数从一个参数文件复制到另一个参数文件,也可以将它们存储在中央文件中,并在每个参数文件中使用OBEY参数来检索它们。或者,您可以为共享参数创建Oracle GoldenGate宏,然后使用MACRO参数从每个参数文件调用宏。

有关使用OBEY和使用宏的更多信息,请参阅Oracle GoldenGate Process Interfaces入门

15.2经典架构中的初始加载

参考资料

https://docs.oracle.com/goldengate/c1230/gg-winux/GWUAD/instantiating-oracle-goldengate-initial-load.htm#GWUAD548

OGG初始加载过程概述的更多相关文章

  1. Linux内核启动过程概述

    版权声明:本文原创,转载需声明作者ID和原文链接地址. Hi!大家好,我是CrazyCatJack.今天给大家带来的是Linux内核启动过程概述.希望能够帮助大家更好的理解Linux内核的启动,并且创 ...

  2. (二)我的Makefile学习冲动&&编译过程概述

    前言 一 年轻的冲动 二 学习曲线 1 Makefile基本语法 2 bash基础 3 world 三 编译过程概述 1 主机预装工具 2 编译host工具 3 编译交叉工具链 4 编译内核模块 5 ...

  3. C编译过程概述

    转自:http://my.oschina.net/apeng/blog/105245 C 编译过程概述 目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection), ...

  4. [转贴]C编译过程概述

    http://my.oschina.net/apeng/blog/105245 C 编译过程概述 目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是G ...

  5. HDFS启动过程概述及集群安全模式操作

    1.启动过程概述 Namenode启动时,首先将映像文件(fsimage)载入内存,并执行编辑日志(edits)中的各项操作.一旦在内存中成功建立文件系统元数据的映像,则创建一个新的fsimage文件 ...

  6. go语言编译过程概述

    go语言编译过程概述 总结自<go语言设计与实现> 名词解释: 中间代码 中间代码是编译器或者虚拟机使用的语言,它可以来帮助我们分析计算机程序.在编译过程中,编译器会在将源代码转换到机器码 ...

  7. C#、JAVA操作Hadoop(HDFS、Map/Reduce)真实过程概述。组件、源码下载。无法解决:Response status code does not indicate success: 500。

    一.Hadoop环境配置概述 三台虚拟机,操作系统为:Ubuntu 16.04. Hadoop版本:2.7.2 NameNode:192.168.72.132 DataNode:192.168.72. ...

  8. iOS设计 - 一款APP从设计稿到切图过程概述

    这篇文章站在GUI设计师的角度概述了APP从项目启动到切片输出的过程,相当于工作流程的介绍.这里写的不是一种规范,只是一种工作方法,加上技术的更新是非常快的,大家在具体工作中,一定要灵活运用. 这里我 ...

  9. 【转】android Apk打包过程概述_android是如何打包apk的

    最近看了老罗分析android资源管理和apk打包流程的博客,参考其他一些资料,做了一下整理,脱离繁琐的打包细节和数据结构,从整体上概述了apk打包的整个流程.   流程概述: 1.打包资源文件,生成 ...

随机推荐

  1. ajax 小练习

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta http-equiv="Con ...

  2. Qt: 文件、文件夹的操作;

    Qt没有提供单独的函数来对文件.文件夹进行操作, 但是提供了两个类: QFile, QDir; 1.文件操作 ) 文件是否存在: QFile file("D:/test.jpg") ...

  3. bzoj2819 DFS序 + LCA + 线段树

    https://www.lydsy.com/JudgeOnline/problem.php?id=2819 题意:树上单点修改及区间异或和查询. 思维难度不高,但是题比较硬核. 整体思路是维护每一个结 ...

  4. Hadoop生态圈-开启Ambari的Kerberos安全选项

    Hadoop生态圈-开启Ambari的Kerberos安全选项 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在完成IPA-Server服务的安装之后,我们已经了解了他提供的基础功 ...

  5. 3.Zuul-过滤器

    1.什么是Zuul? 路由+过滤器=Zuul,核心是一系列的过滤器 2.Zuul的过滤器: pre:可以在请求被路由之前调用 route:在路由请求时候被调用 post:在route和error过滤器 ...

  6. CodeForces - 375A Divisible by Seven(数学)

    https://vjudge.net/problem/48715/origin 题意:给出必定含1689四个数字的字符串,随意交换位置构造出能被7整除的数. 分析:数学思维题.观察发现1689的排列与 ...

  7. 转---变量LEGB规则

    Python 变量作用域的规则是 LEGB LEGB含义解释: L -- Local(function):函数内的名字空间 E -- Enclosing function locals:外部嵌套函数的 ...

  8. vue 组件数据传递

    vue组件化开发 主要为了把一个大功能拆分成若干个小的功能,解决高耦合问题,同时也方便开发人员维护.   从功能上组件可以分为木偶组件和功能组件. 木偶组件(为了接收数据,渲染数据,基本上是没有逻辑的 ...

  9. 转换流InputStreamReader & OutputStreamWriter

    转换流InputStreamReader & OutputStreamWriter 比如当使用FileReader读取文件时,可以读取IDE默认的UTF-8编码的文件,但是当有一个文件是GBK ...

  10. 常用.net反编译替换正则表达式

    .set_([^\(]*) .$ = ------------------ .get_([^\(]*)\(\) .$ ------------------ .get_Item\(([a-z|-]+)\ ...