Oracle GoldenGate支持两种架构,经典架构和微服务架构(MA)。
可以出于以下目的配置Oracle GoldenGate:
- 从一个数据库中静态提取数据记录,并将这些记录加载到另一个数据库中。
- 连续提取和复制事务性数据处理语言(DML)操作和数据定义语言(DDL)更改(对于受支持的数据库),以保持源数据和目标数据的一致性。
- 使用Oracle GoldenGate for Big Data从受支持的数据库源提取数据并将其复制到Big Data和文件目标。
一、Oracle GoldenGate体系结构概述
下表描述了两种Oracle GoldenGate体系结构以及何时使用每种体系结构。
经典架构 | 微服务架构 | |
---|---|---|
它是什么? | Oracle GoldenGate经典体系结构是企业复制的原始体系结构。该体系结构提供了有效地跨各种拓扑传输事务数据所需的过程和文件。这些过程和文件构成经典体系结构的主要组成部分,并且是Oracle GoldenGate 12 c (12.3.0.1)发行之前的主要产品安装方法。 | Oracle GoldenGate微服务体系结构是一种微服务体系结构,它使REST服务成为Oracle GoldenGate环境的一部分。支持REST的服务提供了API端点,这些端点可通过基于Web的控制台,增强的命令行界面,PL / SQL和脚本语言来用于远程配置,管理和监视。 |
什么时候使用它? | 只有在以下情况中提到的MA版本不适用于该平台时,才可以将Oracle GoldenGate安装和配置为使用Oracle GoldenGate Classic体系结构:从一个数据库中静态提取数据记录,并将这些记录加载到另一个数据库中。连续提取和复制事务性数据操作语言(DML)操作和数据定义语言(DDL)更改(对于受支持的数据库),以保持源数据和目标数据的一致性。从数据库提取并复制到数据库外部的文件。从异构数据库源捕获。 | 可以 出于以下目的将Oracle GoldenGate安装和配置为使用Oracle GoldenGate微服务体系结构:具有完全安全的HTTPS接口和用于流数据的安全WebSocket的大规模和云部署。简化对Oracle GoldenGate环境的多种实现的管理,并控制用户对Oracle GoldenGate设置和监视的不同方面的访问。支持系统管理的数据库分片,以提供细粒度的多主复制,其中所有分片都是可写的,并且每个分片都可以部分复制到分片组内的其他分片中。支持以下功能:瘦客户端和基于浏览器的客户端网络安全用户授权分布式部署远程管理绩效监控与编排与Oracle数据库环境中的其他系统和服务进行协调。将Oracle GoldenGate自定义嵌入到应用程序中,或使用安全的远程HTML5应用程序。 |
支持哪些数据库? | 根据认证矩阵, Classic Architecture支持所有受支持的数据库 。 | MA仅支持Oracle数据库的端到端纯MA拓扑。但是,可以将与异构数据库关联的源Oracle GoldenGate Classic复制到具有Oracle的目标Oracle GoldenGate MA,或将源Oracle GoldenGate MA与Oracle复制到具有异构数据库的目标Oracle GoldenGate传统。 |
二、Oracle GoldenGate支持的处理方法和数据库
Oracle GoldenGate支持在整个企业的多个异构平台之间在事务级别交换和处理数据。它以事务完整性和最小的现有基础架构开销移动已提交的事务。它的模块化体系结构使您可以灵活地提取和复制所选数据记录,事务性更改以及跨各种拓扑的DDL(数据定义语言)更改。
注意:对DDL,某些拓扑以及捕获或交付配置的支持因数据库类型而异。有关受支持的功能和配置的详细信息,请参见使用Oracle GoldenGate用于Oracle数据库和Oracle Oracle GoldenGate用于异构数据库。
这是受支持的处理方法的列表。
Database | 基于日志的提取(捕获) | 基于非日志的提取 (捕获) | 复制(交付) |
---|---|---|---|
DB2 for i | N/A | N/A | X |
DB2 LUW | X | N/A | X |
DB2 z/OS | X | N/A | X |
Oracle Database | X | N/A | X |
MySQL | X | N/A | X |
SQL Server | N/A | X | X |
Terradata | N/A | N/A | X |
三、Oracle GoldenGate微服务架构的组件
您可以使用Oracle GoldenGate微服务 体系结构通过HTML用户界面配置和管理数据复制。
Oracle GoldenGate MA包含五个主要组件。下图说明了复制过程如何在安全的REST API环境中运行。
该的Oracle GoldenGate MA提供了所有你需要配置,监视和管理部署和安全工具。它使用行业标准的HTTPS通信协议和JavaScript Object Notation(JSON)数据交换格式进行设计。此外,该体系结构还使您能够使用基本身份验证或安全套接字层客户端证书来验证客户端的身份。
下图显示了各种客户端(Oracle产品,命令行,浏览器和程序化REST API接口),您可以使用它们来使用服务接口来管理部署。
1、Service Manage?
Service Manager充当Microservices Architecture可用的其他服务的监视者。
Service Manager允许您管理本地主机上的一个或多个Oracle GoldenGate部署。
Service Manager可以作为系统服务运行,并维护有关您的部署的清单和配置信息,并允许您维护多个本地部署。使用服务管理器,您可以启动和停止实例,以及查询部署和其他服务。
2、Administration Server
Administration Server监督,管理,管理和监视Oracle GoldenGate部署中的流程。
管理服务器充当中央控制实体,用于管理Oracle GoldenGate部署中的复制组件。您可以使用它来创建和管理本地的Extract和Replicat进程,而不必访问安装了Oracle GoldenGate的服务器。Administration Server的关键功能是REST API服务接口,可以从任何HTTP或HTTPS客户端(例如,微服务体系结构服务接口)或其他客户端(例如,Perl和Python)进行访问。
此外,可以使用Admin Client进行REST API调用以直接与Administration Server通信,请参阅什么是Admin Client?
Administration Server负责协调和编排摘录,复制品和路径,以支持更高的自动化和运营管理。它的操作和行为通过已发布的查询和服务接口进行控制。这些接口允许客户端使用支持REST API接口的REST JSON-RPC调用向Administration Server发出命令和控制指令。
管理服务器包含一个嵌入式Web应用程序,您可以直接将其与任何Web浏览器一起使用,并且不需要安装任何客户端软件。
使用管理服务器来创建和管理:
- 提取和复制过程
- 添加,更改和删除
- 注册和注销
- 开始和停止
- 查看流程信息,统计信息,报告和状态,包括LAG和检查点
- 检索报告并丢弃文件
- 配置(参数)文件
- 检查点,跟踪和心跳表
- 用于过程复制,模式和表的补充日志记录
- 定制和标准任务,例如自动重启和清除跟踪
- 凭证存储
- 加密密钥(
MASTERKEY
) - 添加用户并分配他们的角色
3、Receiver Server
Receiver Server是处理所有传入跟踪文件的中央控制服务。它与分发服务器互操作,并与用于远程经典部署的经典体系结构泵兼容。
Receiver Server用单个实例服务替换多个离散的目标端收集器。
使用Receiver Server可以:
- 监视路径事件
- 查询输入路径的状态
- 查看传入路径的统计信息
- 诊断路径问题
WebSockets是Receiver Server使用的默认HTTPS启动的全双工流协议。它使您可以使用SSL安全性完全保护数据。接收器服务器无缝地遍历HTTP正反向代理服务器,如图2- *所示。
插图说明serarchwebsocket.png
此外,Receiver Server支持以下协议:
- UDT-用于广域网的基于UDP的协议。有关更多信息,请参见http://udt.sourceforge.net/。
- 经典Oracle GoldenGate协议-用于经典部署,以便分发服务器与收集器通信,数据泵与接收器服务器通信。
注意:在经典和微服务体系结构的混合环境中,TCP加密不起作用。无法将微服务体系结构中的分发服务器配置为使用TCP加密与部署中运行的经典体系结构中的服务器收集器进行通信。而且,微服务体系结构中的Receiver Server无法接受来自经典体系结构中的数据泵的连接请求,该数据泵配置了
RMTHOST ... ENCRYPT
在部署中运行的参数。
4、Distribution Server
Distribution Server是一项服务,它充当网络数据分发代理,以支持在分布式部署中传输和处理数据和命令。这是一个高性能的应用程序,能够同时处理来自多个源跟踪文件的多个命令和数据流。
Distribution Server用单个实例服务代替了传统的多个源端数据泵。该服务器将一个或多个路径分布到一个或多个目的地,并且仅提供轻量级筛选(不进行转换)。
可以使用多种通信协议,这使您能够基于每个路径调整网络参数。这些协议包括:
-
Oracle GoldenGate协议,用于在非基于服务的(经典)目标中在分发服务器和收集器之间进行通信。用于互操作性。
注意:在经典和微服务体系结构的混合环境中,TCP加密不起作用。无法将微服务体系结构中的分发服务器配置为使用TCP加密与部署中运行的经典体系结构中的服务器收集器进行通信。而且,微服务体系结构中的Receiver Server无法接受来自经典体系结构中的数据泵的连接请求,该数据泵配置了
RMTHOST ... ENCRYPT
在部署中运行的参数。 -
用于基于HTTPS的流传输的WebSockets,它依赖于SSL安全性。
-
适用于广域网的UDT。
-
对云环境的代理支持:
- SOCKS5适用于任何网络协议。
- HTTP仅用于HTTP类型的协议,包括WebSocket。
-
被动分发服务器以从远程站点启动路径创建。路径是源到目标的复制配置,但未包含在此版本中。
注意:此服务没有内容转换。
5、Performance Management Server
要访问Performance Management Server API,您需要Oracle GoldenGate管理包插件。
Performance Metrics Server使用指标服务来收集和存储实例部署性能结果。此度量标准收集和存储库与管理层信息收集是分开的。您可以使用其他嵌入式Web应用程序监视性能指标,并使用数据调整部署以实现最佳性能。所有Oracle GoldenGate 进程都将指标发送到Performance Metrics Server。您可以在微服务体系结构和经典体系结构中使用Performance Metrics Server 。
使用性能指标服务器可以:
- 查询各种指标并以服务JSON格式或经典XML格式接收响应
- 集成第三方指标工具
- 查看错误日志
- 查看活动过程状态
- 监控系统资源利用率
6、Admin Client
Admin Client是一个命令行实用程序(类似于经典的GGSCI实用程序)。您可以使用它来发布配置,控制和监视Oracle GoldenGate的完整命令。
Admin Client用于创建,修改和删除流程,而不是使用MA。MA服务(例如管理,分发和其他服务器)不使用它。例如,您可以使用Admin Client执行创建摘录所需的所有命令或自定义新的摘录应用程序,或者使用MA附带的管理服务器来配置摘录。
注意:
确保OGG_HOME
,OGG_VAR_HOME
以及OGG_ETC_HOME
正确的环境设置。
在支持MA设计的某些方面,使用Admin Client相似的方式有所不同:
GGSCI | Admin Client |
---|---|
连接到本地流程 | 连接到任何MA部署 |
需要本地计算机访问权限,通常是SSH | 需要HTTP或HTTPS访问 |
本地执行的应用程序逻辑 | 远程执行应用程序逻辑 |
需要连接到DBMS | 无需连接到DBMS |
使用操作系统安全性 | 使用MA安全性 |
一次认证和授权 | 每次操作均经过身份验证和授权 |
没有特殊的连接语义 | 需要一个CONNECT 命令 |
支持USERID ,PASSWORD 和USERIDALIAS | USERIDALIAS 仅 支持 |
REGISTER EXTRACT 之前 ADD EXTRACT | REGISTER EXTRACT 后 ADD EXTRACT |
非安全通信 | 使用SSL的加密通信 |
使用泵工艺 | 使用分发服务器 |
Admin Client是以GGSCI为基础设计的。下表描述了Admin Client中新的,删除的和不推荐使用的命令:
New Commands | Deleted Commands and Processes: | Deprecated Commands |
---|---|---|
CONNECT DISCONNECT [START | STATUS | STOP] SERVICE [ADD | ALTER | DELETE | INFO | [KILL START | STATS | STOP] [EDIT | VIEW] GLOBALS CD | * MGR * JAGENT * CREATE DATASTORE SUBDIRS FC DUMPDDL INFO MARKER | ADD CREDENTIALSTORE [CREATE | OPEN] WALLET |