支持 MySQL 组复制的 Oracle GoldenGate 功能

以下是支持从 MySQL 数据库组复制实例捕获所需的 Oracle GoldenGate 功能。

CSN 格式

MySQL 组复制的提取使用新的 CSN 格式,该格式基于组复制全局事务处理 ID。在手动定位源线索由 MySQL 组复制提取生成的 MySQL 组复制提取或复制时,此 CSN 格式应与 ATCSN 和 AFTERCSN 一起使用。

组复制捕获中使用的序列的一个示例是:

00000000000000000001:f77024f9-f4e3-11eb-a052-0021f6e03f10:0000000000000010654

在此序列中,Oracle GoldenGate 序号为 00000000000000000001,GTID 为 f77024f9-f4e3-11eb-a052-0021f6e03f10:0000000000000010654。

扩展检查点支持

MySQL 组复制的提取除了包含核心提取检查点文件外,还包括扩展检查点文件。扩展检查点文件在核心检查点所在的同一检查点目录中创建,并且在捕获组的名称(例如 extmysql.cpex)后具有 cpex 扩展名。

此文件在提取开始时创建,在删除提取时删除,不应编辑。

使用基于 GTID 的提取

如果在 MySQL 数据库中启用了 gtid_mode,则适用于 MySQL 的 Oracle GoldenGate 提取将自动开始使用基于 GTID 的恢复机制和扩展检查点,从而支持故障转移和恢复。提取不需要额外的参数。

注:如果不使用组复制,建议在源 MySQL 数据库上禁用 gtid_mode。这将返回提取的捕获行为,以使用日志编号和偏移方法。

在 Oracle GoldenGate 基于 GTID 的提取中为 MySQL 设置的 GTID 职位

在 MySQL 的基于 GTID 的提取中添加了按 GTID 设置的新职位选项。仅 MySQL 中基于 GTID 的捕获支持按 GTID 集进行定位。

有关 GTID 和 GTID 集的介绍,请参见 MySQL 数据库文档:

https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-concepts.html

此功能支持的 MySQL 源包括 MySQL Server 8.0、MySQL Server 5.7 和 MySQL Database Service (MDS)。

支持的最大 GTID 集大小为 64 KB。

有关 GTIDSET 参数用法的详细信息,请参见 [ADD EXTRACT](/pls/topic/lookup?ctx=en/database/goldengate/core/26/coredoc&id=GCLIR-GUID-D9611110-A8D6-4118-837E-BF1900262666) 和 [ALTER EXTTRAIL](/pls/topic/lookup?ctx=en/database/goldengate/core/26/coredoc&id=GCLIR-GUID-6085AD73-E3A5-4C89-879A-2F528DD91412)。

另请参见 REST API Example for GTIDSET parameter 。