将数据从 HeatWave 复制到 Amazon Kinesis

了解如何使用 OCI GoldenGate 将数据从 HeatWave 复制到 Amazon Kinesis。

开始之前

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

环境设置:HeatWave

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

  1. 下载示例数据脚本,然后在 OCI 数据库上的 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 控制台中,找到基于 OCI 的 HeatWave 数据库使用的子网。

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

任务 1:创建 OCI GoldenGate 资源

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

  2. 为 Amazon Kinesis 目标创建大数据部署

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

  4. 连接到 Amazon Kinesis

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

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

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

任务 2:创建提取

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

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

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

  4. 添加具有以下值的更改数据捕获提取

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

    • 流程名称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 部署控制台中,使用以下值添加分发路径

    1. 源选项页上:

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

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

    2. 目标选项页上:

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

      • 端口号中,输入 443

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

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

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

    1. 选择接收者服务

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

任务 4:为 Amazon Kinesis 添加复制

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

  2. Add a Replicat ,包含以下值:

    • 对于复制类型,选择经典复制

    • 流程名称中,输入名称。

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

    • 对于目标,选择 Amazon Kinesis。

    • 对于 Available Aliases for Amazon Kinesis ,从下拉列表中选择您的别名。

    • 在“属性文件”页面上,编辑标记为 #TODO 的字段:

      • gg.handler.kinesis.region:为目标 Kinesis 流提供 Amazon Web Services (AWS) 区域。

      • gg.handler.kinesis.streamMappingTemplate:默认情况下,它设置为 ${tableName},它将基于源表名称映射流。如果要映射到现有数据流,可以提供静态流名称,也可以使用模板关键字动态分配流名称。

任务 5:验证从 HeatWave 到 Amazon Kinesis 的数据复制

对源 HeatWave 数据库执行更新以验证复制到 Amazon Kinesis。

  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 部署控制台中,选择“更改数据捕获提取”名称 (ECDC),然后选择统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。

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

  7. 在 Amazon Kinesis 中,您可以检查目标数据流/数据查看器中的消息。