将数据从 HeatWave 发送到 Azure Event Hub
了解如何使用 OCI GoldenGate 将数据从 HeatWave 复制到 Azure Event Hub。
开始之前
要成功完成此快速入门,您必须具有以下各项:
-
OCI Bastion,用于连接到 HeatWave 数据库、加载示例数据库并执行插入。
-
充当源数据库的 HeatWave 数据库。
-
注:在 Azure Event Hubs 基本层中未启用 Kafka Surface。需要提供标准层或高级层。
环境设置:HeatWave
要为此快速入门设置环境,请执行以下操作:
-
下载示例数据脚本,然后在 HeatWave 数据库上运行该脚本以创建数据库并加载数据。
-
使用以下脚本创建
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'; -
打开
port 3306,OCI GoldenGate 可以通过该服务进行连接。-
在 Oracle Cloud 控制台中,找到 HeatWave 数据库使用的子网。
-
在子网的安全列表中,为
port TCP/3306创建入站规则。
-
任务 1:创建 OCI GoldenGate 资源
-
为源 HeatWave 数据库创建 MySQL 部署。
-
为目标 Azure 事件中心创建大数据部署。
任务 2:创建提取
-
在“Deployments(部署)”页面上,选择在“Task 1(任务 1)”中创建的 MySQL 部署。
-
在部署详细信息页上,选择启动控制台。
-
使用在任务 1 中创建部署时指定的管理员身份证明登录源 MySQL 部署控制台。
-
添加具有以下值的 anChange Data Capture Extract :
-
提取类型:更改数据捕获提取
-
流程名称:
ECDC -
提取线索名称:
C1 -
参数文件:将
MAP *.*, TARGET *.*;替换为TABLE SRC_OCIGGLL.*;
-
任务 3:创建目标大数据部署的分发路径
-
如果使用 IAM 身份证明存储,请继续执行步骤 3。如果使用 GoldenGate 身份证明存储,则创建源 GoldenGate 用于连接到目标 GoldenGate 的用户。
-
在“部署”页上,选择目标大数据部署。
-
在部署详细信息页上,选择启动控制台,然后以管理员用户身份登录。
-
在部署控制台导航菜单中,选择用户管理。
-
选择添加新用户(加号图标),按如下所示填写字段,然后选择提交:
-
对于用户名,输入
ggsnet。 -
对于角色,选择运算符。
-
输入两次口令进行验证。
-
-
-
在 source MySQL 部署控制台中,为上一步中创建的用户创建路径连接。
-
打开导航菜单,然后选择路径连接。
-
选择添加路径连接(加号图标),按如下方式填写字段,然后选择提交:
-
对于身份证明别名,输入
dpuser。 -
对于用户 ID ,输入
ggsnet -
对于 Password(密码),输入上一步中使用的相同密码。
-
-
-
在 source MySQL 部署控制台中, add aDistribution Path 包含以下值:
-
在源选项页上:
-
对于源提取,选择在任务 2 中创建的提取。
-
对于线索名称,输入两个字符的名称,例如
C1。
-
-
在目标选项页上:
-
对于目标主机,输入目标部署的主机域。
-
在端口号中,输入
443。 -
对于线索名称,输入两个字符的名称,例如
C1。 -
对于别名,输入在步骤 2 中创建的身份证明别名。
-
-
-
在目标 OCI GoldenGate 大数据部署控制台中,查看分配路径后创建的接收器路径:
-
选择接收者服务。
-
查看接收方路径详细信息。
-
任务 4:为 Azure 事件中心添加复制
-
在大数据部署中,选择管理员服务,然后选择添加复制(加号图标)。
-
使用以下值添加 aReplicat :
-
在 "Replicat Information" 页面上的 "Replicat type" 下,选择 Classic Replicat 并输入进程名称。
-
在“复制选项”页面上:
-
对于线索名称,输入任务 2 中的线索名称。
-
对于目标,选择 Azure 事件中心。
-
对于别名,选择在任务 1 中创建的 Azure 事件中心连接。
-
-
在“复制参数”页上,保留默认值。
-
在“属性文件”页上,提供
topicMappingTemplate的主题名称。 -
选择创建并运行。
-
任务 5:验证从 HeatWave 到 Azure 事件中心的数据复制
对源 HeatWave 数据库执行更新以验证复制到 Azure 事件中心。
-
在 OCI Bastion 中,使用 MySQL IP 和
port 3306创建 SSH 端口转发会话。添加公共 SSH 密钥。 -
使用私钥和
port 3306连接到 Cloud Shell 中的 MySQL。 -
成功连接后,运行以下命令:
mysqlsh admin@localhost:3306 --sql -
运行以下脚本以对 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; -
在源 MySQL 部署控制台中,选择“更改数据捕获提取”名称,然后选择统计信息。验证
SRC_OCIGGLL.SRC_CITY是否具有 10 个插入。 -
在目标大数据部署控制台中,选择“复制”名称,然后选择统计信息。验证
SRC_OCIGGLL.SRC_CITY是否具有 10 个插入。 -
在 Azure Event Hub 中,您可以检查消息统计信息。