Oracle CDC 服务将对一个或多个源 Oracle 数据库中所选表所做的更改捕获到位于 SQL Server 实例上的 SQL Server CDC 数据库中。 下图显示了构成 Oracle CDC 服务的组件。
此图演示了四个已使用的平台。 在许多情况下,这些平台可能会重叠,但此关系图表示标准用例。 例如,Oracle 和 SQL Server 数据库在单独的计算机上运行,并且不会与 Oracle CDC 服务平台或 CDC 服务从中设计的平台共享。 下图所示的平台包括:
Oracle CDC 服务:它可以是安装并运行 Oracle CDC 服务的任何受支持的 Windows 计算机。 此平台还可能表示Microsoft故障转移群集中的群集节点(本文档稍后将讨论高可用性配置)。
Oracle 数据库:可以是运行 Oracle 数据库支持版本的任何计算机。 这包括运行 Windows、Linux 或已安装 Oracle 数据库版本支持的任何其他作系统的计算机。 请注意,该图以复数形式显示此平台,因为单个 Oracle CDC 服务可以从多个源 Oracle 数据库捕获更改。
SQL Server:可以是运行目标 SQL Server 数据库(SQL Server 2019 (15.x) 支持的 SKU)的任何计算机。 Oracle CDC 服务支持一个 SQL Server 目标,用于存储更改表和服务配置。 SQL Server Platform 还可以使用 AlwaysOn 功能表示 SQL Server 2019(15.x)的群集实例或 SQL Server 2019(15.x)的镜像实例。
Oracle CDC 设计器:这可以是可访问源 Oracle 数据库和目标 SQL Server 数据库的任何受支持的 Windows 计算机。
下表描述了在上述四个平台上运行的组件。
| 组件/说明 | 组件包括: |
|---|---|
| Oracle CDC 服务:这是一项 Windows 服务,用于执行数据更改捕获活动。 | Oracle CDC 实例:Oracle CDC 服务的子进程,用于处理单个源 Oracle 数据库的更改数据捕获活动(每个源 Oracle 数据库有一个 Oracle CDC 实例)。 Oracle 日志读取器:使用 Oracle 客户端读取 Oracle 事务日志。 Oracle 客户端:用于与 Oracle 通信的 Oracle 即时客户端。 这是在安装 Oracle CDC 服务之前应从 Oracle 获取并安装的先决条件。 SQL Server 更改编写器:这会将已提交对捕获的 Oracle 表所做的更改写入 SQL Server 更改表。 此组件还维护目标 SQL Server 数据库中的捕获状态。 SQL ServerODBC 客户端:适用于 SQL Server 2019 的 Microsoft Native Client(15.x)。 这是一个必备组件,需先从 Microsoft 获取并安装,然后才能安装 Oracle CDC 服务。 |
| Oracle CDC 服务配置:这是一个 Microsoft 管理控制台插件,用于创建 Windows 服务并设置其配置。 | SQL Server 客户端:附带 .NET Framework 版本 4 的 SQL ADO.NET 客户端。 |
| 用于捕获选定表更改的源 Oracle 数据库。 | 日志挖掘器:读取 Oracle 事务日志的 Oracle 组件。 事务日志:Oracle 使用的联机和存档的 Oracle Redo 日志,以确保数据库可以回滚事务并从故障中恢复(在这种情况下,Oracle 数据库必须在存档日志模式下运行)。 |
| SQL Server 实例:托管 CDC 数据库的 SQL Server 实例。 这可能是群集 SQL Server 实例(故障转移群集)或镜像数据库(AlwaysOn)。 | MSXDBCDC 数据库:保留有关使用此 SQL Server 实例的 CDC 服务的信息的数据库。 它还保留每个 CDC 服务处理的 Oracle CDC 实例的相关信息。 此数据库是 CDC 服务创建过程的一部分创建的。 CDC 数据库:存储对某个源 Oracle 数据库所做的更改的 SQL Server 数据库。 为 SQL Server CDC 启用 CDC 数据库,使其具有 SQL Server CDC 表和函数,因此可以轻松使用源自 Oracle 的更改。 |
| Oracle CDC 设计器:一个 Microsoft 管理控制台的插件,可帮助创建 Oracle CDC 实例。 使用此选项选择要捕获的表和列,提供 Oracle 连接信息并管理 CDC 实例的生命周期。 | SQL Server 客户端:附带 .NET Framework 版本 4 的 SQL ADO.NET 客户端。 Oracle 客户端:用于与 Oracle 通信的 Oracle 即时客户端。 这是在安装 Oracle CDC 服务之前应从 Oracle 获取并安装的必备组件。 |
Oracle CDC 服务及其子 Oracle CDC 实例只能与源 Oracle 数据库(s)和目标 SQL Server 实例作为客户端进行通信。 它们不会主动侦听任何网络和其他协议。 Oracle CDC 服务会监视 CDC 数据库的配置更改,并根据更新的配置更新其作。