本章包含的信息可帮助您确定适用于数据库环境的捕获和应用模式。
主题:
Oracle GoldenGate捕获过程称为“提取”。 Extract进程的每个实例都称为一个组,其中包括进程本身和支持它的关联文件。
建议在源系统上使用额外的Extract进程(称为数据泵),以便捕获的数据可以在本地保存到一系列称为踪迹的文件中。数据泵不捕获数据,而是读取本地路径并通过网络将数据传播到目标。
Oracle GoldenGate应用程序称为Replicat。 Replicat进程的每个实例都称为一个组,其中包括进程本身和支持它的关联文件。 Replicat读取发送到本地存储的数据(称为踪迹),并将其应用到目标数据库。
图4-1说明了基本的Oracle GoldenGate进程配置。有关Oracle GoldenGate进程的更多信息,请参阅管理Oracle GoldenGate。
Figure 4-1 The Basic Configuration
Oracle数据库必须处于ARCHIVELOG模式,以便Extract可以处理日志文件。
对于Oracle源数据库,您可以运行经典捕捉或集成捕捉模式下的提取。您使用的方法决定了如何配置Oracle GoldenGate进程,并取决于以下因素:
以下说明这些模式以及每种模式支持的数据库版本。
在传统捕获模式下,Oracle GoldenGate Extract进程会捕获源系统上的Oracle重做或归档日志文件或备用系统上出厂的归档日志中的数据更改。图4-2显示了经典捕捉模式下的提取配置。
Figure 4-2 Classic Capture
经典捕获完全支持大多数Oracle数据类型,对复杂数据类型提供有限的支持。经典捕获是最初的Oracle GoldenGate捕获方法。对于Oracle GoldenGate支持的任何源Oracle RDBMS,您可以使用经典捕获,但多租户容器数据库除外。
您可以使用经典捕捉来支持以下内容:
NOLOGGING
LOBs 其源数据库兼容性设置在11.2.0.0.0以下。有关更多信息,请参阅支持的Oracle数据类型和每个捕获模式的对象摘要。
在集成捕获模式下,Oracle GoldenGate Extract进程直接与数据库logmining server交互,以逻辑更改记录(LCR)的形式接收数据更改。图4-3显示了集成捕获模式下的提取配置。
Figure 4-3 Integrated Capture
与经典捕捉相比,集成捕捉支持更多数据和存储类型,并且支持更加透明。有关更多信息,请参阅支持的Oracle数据类型和每个捕获模式的对象摘要。
以下是集成捕获的一些额外好处:
数据库版本通过集成捕获来确定可用的数据类型支持:
要了解不同RDBMS版本之间数据类型支持的差异,请参阅支持的Oracle数据类型和每个捕获模式的对象摘要。
本节介绍集成捕获的部署选项,并取决于部署挖掘数据库的位置。挖掘数据库是部署登录服务器的数据库。
在使用下游采矿配置时,源数据库和采矿数据库必须具有相同的平台。例如,如果源数据库在Windows 64位上运行,则下游数据库也必须位于Windows 64位平台上。请参阅配置下游挖掘数据库和示例下游挖掘配置以配置下游挖掘数据库。
从ADG备用数据库执行提取操作与从ADG备用数据库进行捕获不同。实际的集成提取组件需要在READ / WRITE数据库中运行。这两个参数只控制从哪个数据库获取数据。
Replicat进程负责将复制的数据应用到Oracle目标数据库。有关Oracle GoldenGate进程的更多信息,请参阅管理Oracle GoldenGate。
对于Oracle目标数据库,可以以非集成模式或集成模式运行Replicat。以下说明这些模式以及每种模式支持的数据库版本。
在非集成模式下,Replicat进程使用标准SQL将数据直接应用于目标表。在这种模式下,Replicat的操作如下:
图4-4说明了非集成模式下Replicat的配置。
Figure 4-4 Nonintegrated Replicat
在以下情况下使用非集成的Replicat:
通过使用协调的Replicat配置,您可以与非集成Replicat并行应用事务。请参阅管理Oracle GoldenGate以获取更多信息。
在集成模式下,Replicat进程利用Oracle数据库中可用的应用处理功能。在这种模式下,Replicat的操作如下:
图4-5显示了集成模式下Replicat的配置。
Figure 4-5 Integrated Replicat
在单个Replicat配置中,称为应用服务器的多个入站服务器子进程并行应用事务,同时保留原始事务的原子性。您可以根据目标系统在配置Replicat过程时或根据需要动态增加此并行度。图4-6说明了使用两个并行应用程序服务器配置的集成Replicat。
Figure 4-6 Integrated Replicat with Two Parallel Apply Servers
Integrated Replicat异步应用事务。不具有相互依赖性的事务可以安全地执行并按顺序执行以实现快速吞吐量。具有依赖性的事务保证以与源上相同的顺序应用。
入站服务器中的读取器进程根据目标数据库中定义的约束(主键,唯一键,外键)计算工作负载中事务之间的依赖关系。障碍事务和DDL操作也是自动管理的。协调员进程协调多个事务并在应用服务器之间维护顺序。
如果入站服务器不支持配置的功能或列类型,则Replicat会脱离入站服务器,等待入站服务器完成其队列中的事务,然后通过OCI以直接应用模式将事务应用于数据库。应用直接事务后,Replicat在集成模式下恢复处理。
Replicat在直接模式下应用以下功能:
由于交易是以直接应用模式串行应用的,因此大量使用此类操作可能会降低集成复制模式的性能。当大多数应用处理可以在集成模式下执行时,Integrated Replicat表现最佳,请参阅实例化后的监视和控制处理。
用户出口在集成模式下执行。但是,如果退出代码取决于复制流中的数据,则用户出口可能会产生意外的结果。
以下是使用集成Replicat与非集成Replicat的好处。
要使用集成的Replicat,必须满足以下条件。
您可以一起使用以下捕捉和应用模式:
您可以在同一个源Oracle GoldenGate实例内同时使用集成捕获和经典捕获,并且可以在同一个目标Oracle GoldenGate实例内同时使用集成的Replicat和非集成Replicat。此配置需要将对象仔细放置在相应的过程组中,因为在经典和集成捕捉模式之间以及在非集成和集成复制模式之间没有DDL或DML的协调。每个提取组必须根据表数据类型和属性处理适合处理模式的对象。一个Extract中没有对象可以对另一个Extract中的对象具有DML或DDL依赖关系。 Replicat配置必须应用相同类型的隔离。
推荐的Oracle GoldenGate配置(如果受Oracle版本支持)将在Oracle目标上使用一个Oracle源上的集成捕获和每个源数据库上的一个集成Replicat。集成捕捉比传统捕捉更全面地支持某些数据类型。一个集成的Replicat配置通过入站服务器支持所有Oracle数据类型,或通过在必要时切换为直接应用程序来支持所有Oracle数据类型,并保持源事务完整性。您可以根据需要将并行度设置调整为所需的应用性能级别。
如果目标数据库是不支持集成Replicat的Oracle版本,或者它是非Oracle数据库,则可以使用协调的Replicat配置。请参阅管理Oracle GoldenGate以获取更多信息。
您可以在过程模式之间切换。例如,您可以从经典捕捉切换到集成捕捉,或从集成捕捉切换到经典捕捉。有关说明,请参阅在管理Oracle GoldenGate中执行管理操作。
参考资料
https://docs.oracle.com/goldengate/c1230/gg-winux/GGODB/choosing-capture-and-apply-modes.htm#GGODB-GUID-46EEC8E7-F1A3-41F6-ABEE-706B48DC338F
联系客服