您可以使用Oracle GoldenGate来:
- 执行独立的批量加载以填充数据库表以进行迁移或其他用途。
- 将数据作为初始同步运行的一部分加载到数据库表中,以准备与Oracle GoldenGate进行更改同步。
15.1.1提高初始负载的性能
除了使用数据库实用程序执行的所有初始加载方法外,您还可以通过使用并行Oracle GoldenGate进程更快地加载大型数据库。要使用并行处理,请执行以下步骤。
- 按照本章中的说明为要使用的每组并行进程创建初始加载提取和初始加载Replicat。
- 使用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经典架构中的初始加载
- Loading Data with a Database Utility
- Loading Data with Oracle Data Pump
- Loading Data from File to Replicat
- Loading Data with an Oracle GoldenGate Direct Load
- Loading Data with a Direct Bulk Load to SQL*Loader
- Loading Data with Teradata Load Utilities
参考资料
https://docs.oracle.com/goldengate/c1230/gg-winux/GWUAD/instantiating-oracle-goldengate-initial-load.htm#GWUAD548