将数据从 HeatWave 复制到 Amazon Kinesis

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

开始之前

要成功完成此快速启动,您必须具有:

环境设置: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 3306OCI GoldenGate 可通过其连接。
    1. 在 Oracle Cloud 控制台中,找到 HeatWave 数据库使用的子网。
    2. 在子网的安全列表中,为 port TCP/3306 创建入站规则。

任务 2:创建 Extract

  1. 在“Deployments(部署)”页面上,选择在任务 1 中创建的 MySQL 部署。
  2. 在部署详细信息页上,单击启动控制台
  3. 使用在任务 1 中创建部署时指定的管理员身份证明登录源 MySQL 部署控制台。
  4. 添加具有以下值的 Change Data Capture Extract
    • Extract 类型Change Data Capture Extract
    • 进程名ECDC
    • Extract Trail 名称C1
    • 参数文件:将 MAP *.*, TARGET *.*; 替换为 TABLE SRC_OCIGGLL.*;

任务 3:创建 Distribution Path 以定位大数据部署

  1. 如果使用 IAM 身份证明存储,请继续执行步骤 3。如果使用 GoldenGate 身份证明存储,则创建源 GoldenGate 用于连接到目标 GoldenGate 的用户。
    1. 在“部署”页上,选择目标大数据部署。
    2. 在部署详细信息页上,单击启动控制台,然后以管理员用户身份登录。
    3. 在部署控制台导航菜单中,单击用户管理
    4. 单击添加新用户(加号图标),按如下方式填写字段,然后单击提交
      • 对于用户名,输入 ggsnet
      • 对于角色,选择运算符
      • 输入两次口令进行验证。
  2. MySQL 部署控制台中,为上一步中创建的用户创建 Path Connection
    1. 打开导航菜单,然后单击 Path Connection
    2. 单击添加 Path Connection(加号图标),按如下方式填写字段,然后单击提交
      • 对于身份证明别名,输入 dpuser
      • 对于用户 ID ,输入 ggsnet
      • 对于密码,输入上一步中使用的相同密码。
  3. MySQL 部署控制台中,添加具有以下值的 Distribution Path
    1. 源选项页上:
      • 对于Extract ,选择在任务 2 中创建的 Extract
      • 对于线索名称,输入两个字符的名称,例如 C1
    2. 目标选项页上:
      • 对于目标主机,输入目标部署的主机域。
      • 对于端口号,输入 443
      • 对于线索名称,输入两个字符的名称,例如 C1
      • 对于别名,输入在步骤 2 中创建的身份证明别名。
  4. 在目标 OCI GoldenGate 大数据部署控制台中,查看因 Distribution Path 创建的 Receiver path
    1. 单击 Receiver Service
    2. 查看 Receiver path 详细信息。

任务 4:为 Amazon Kinesis 添加复制

  1. 在大数据部署中,单击 Administration Service ,然后单击添加 Replicat(加号图标)
  2. 添加具有以下值的 Replicat
    • 对于 Replicat 类型,选择 Classic 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:验证从 HeatWaveAmazon Kinesis 的数据复制

对源 HeatWave 数据库执行更新以验证复制到 Amazon Kinesis
  1. 在 OCI 堡垒中,使用 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 部署控制台中,选择 Change Data Capture Extract 名称 (CDCEXT),然后单击统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。
  6. 在目标大数据部署控制台中,选择 Replicat 名称,然后单击统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。
  7. Amazon Kinesis 中,您可以在目标数据流/数据查看器中检查消息。