将数据从 HeatWave 发送到 Azure Event Hub

了解如何使用 OCI GoldenGate 将数据从 HeatWave 复制到 Azure Event Hub。

开始之前

要成功完成此快速入门,您必须具有以下各项:

环境设置:HeatWave

要为此快速入门设置环境,请执行以下操作:

  1. 下载示例数据脚本,然后在 HeatWave 数据库上运行该脚本以创建数据库并加载数据。

  2. 使用以下脚本创建 ggadmin 用户。请记住将 <ggadmin-password> 替换为有效的口令:

    CREATE USER 'ggadmin' IDENTIFIED BY '<ggadmin-password>';
    GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT, CREATE,CREATE VIEW, EVENT, INSERT, UPDATE, DROP,EXECUTE, DELETE ON *.* TO 'ggadmin';
  3. 打开 port 3306,OCI GoldenGate 可以通过该服务进行连接。

    1. 在 Oracle Cloud 控制台中,找到 HeatWave 数据库使用的子网。

    2. 在子网的安全列表中,为 port TCP/3306 创建入站规则。

任务 1:创建 OCI GoldenGate 资源

  1. 为源 HeatWave 数据库创建 MySQL 部署

  2. 为目标 Azure 事件中心创建大数据部署

  3. 创建与源 MySQL Heatwave 数据库的连接

  4. 创建 Azure 事件中心连接

  5. 创建与 GoldenGate 的连接,然后将此连接分配给源 MySQL 部署

  6. 将源连接分配给源 MySQL 部署

  7. 将目标连接分配给目标大数据部署

任务 2:创建提取

  1. 在“Deployments(部署)”页面上,选择在“Task 1(任务 1)”中创建的 MySQL 部署。

  2. 在部署详细信息页上,选择启动控制台

  3. 使用在任务 1 中创建部署时指定的管理员身份证明登录源 MySQL 部署控制台。

  4. 添加具有以下值的 anChange Data Capture Extract

    • 提取类型:更改数据捕获提取

    • 流程名称ECDC

    • 提取线索名称C1

    • 参数文件:将 MAP *.*, TARGET *.*; 替换为 TABLE SRC_OCIGGLL.*;

任务 3:创建目标大数据部署的分发路径

  1. 如果使用 IAM 身份证明存储,请继续执行步骤 3。如果使用 GoldenGate 身份证明存储,则创建源 GoldenGate 用于连接到目标 GoldenGate 的用户。

    1. 在“部署”页上,选择目标大数据部署。

    2. 在部署详细信息页上,选择启动控制台,然后以管理员用户身份登录。

    3. 在部署控制台导航菜单中,选择用户管理

    4. 选择添加新用户(加号图标),按如下所示填写字段,然后选择提交

      • 对于用户名,输入 ggsnet

      • 对于角色,选择运算符

      • 输入两次口令进行验证。

  2. source MySQL 部署控制台中,为上一步中创建的用户创建路径连接。

    1. 打开导航菜单,然后选择路径连接

    2. 选择添加路径连接(加号图标),按如下方式填写字段,然后选择提交

      • 对于身份证明别名,输入 dpuser

      • 对于用户 ID ,输入 ggsnet

      • 对于 Password(密码),输入上一步中使用的相同密码。

  3. source MySQL 部署控制台中, add aDistribution Path 包含以下值:

    1. 源选项页上:

      • 对于源提取,选择在任务 2 中创建的提取。

      • 对于线索名称,输入两个字符的名称,例如 C1

    2. 目标选项页上:

      • 对于目标主机,输入目标部署的主机域。

      • 端口号中,输入 443

      • 对于线索名称,输入两个字符的名称,例如 C1

      • 对于别名,输入在步骤 2 中创建的身份证明别名。

  4. 在目标 OCI GoldenGate 大数据部署控制台中,查看分配路径后创建的接收器路径:

    1. 选择接收者服务

    2. 查看接收方路径详细信息。

任务 4:为 Azure 事件中心添加复制

  1. 在大数据部署中,选择管理员服务,然后选择添加复制(加号图标)

  2. 使用以下值添加 aReplicat

    1. 在 "Replicat Information" 页面上的 "Replicat type" 下,选择 Classic Replicat 并输入进程名称。

    2. 在“复制选项”页面上:

      • 对于线索名称,输入任务 2 中的线索名称。

      • 对于目标,选择 Azure 事件中心。

      • 对于别名,选择在任务 1 中创建的 Azure 事件中心连接。

    3. 在“复制参数”页上,保留默认值。

    4. 在“属性文件”页上,提供 topicMappingTemplate 的主题名称。

    5. 选择创建并运行

任务 5:验证从 HeatWave 到 Azure 事件中心的数据复制

对源 HeatWave 数据库执行更新以验证复制到 Azure 事件中心。

  1. 在 OCI Bastion 中,使用 MySQL IP 和 port 3306 创建 SSH 端口转发会话。添加公共 SSH 密钥。

  2. 使用私钥和 port 3306 连接到 Cloud Shell 中的 MySQL。

  3. 成功连接后,运行以下命令:

    mysqlsh admin@localhost:3306 --sql
  4. 运行以下脚本以对 HeatWave 数据库执行插入:

    use SRC_OCIGGLL;
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    commit;
  5. 在源 MySQL 部署控制台中,选择“更改数据捕获提取”名称,然后选择统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。

  6. 在目标大数据部署控制台中,选择“复制”名称,然后选择统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。

  7. 在 Azure Event Hub 中,您可以检查消息统计信息。