将数据从 OCI 上的 HeatWave 复制到 Autonomous AI Lakehouse
了解如何使用 OCI GoldenGate 将数据从基于 OCI 的 HeatWave 复制到 Autonomous AI Lakehouse。
开始之前
要成功完成此快速入门,您必须具有以下各项:
-
OCI Bastion,连接到 OCI 上的 HeatWave,加载示例数据库并执行插入
-
基于 OCI 的 HeatWave 数据库,用作源数据库
-
要用作目标数据库的自治 AI 数据湖仓实例
环境设置:基于 OCI 的 HeatWave
要为此快速入门设置环境,请执行以下操作:
-
下载示例数据脚本,然后在 OCI 数据库上的 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 控制台中,找到基于 OCI 的 HeatWave 数据库使用的子网。
-
在子网的安全列表中,为
port TCP/3306创建入站规则。
-
-
下载目标方案脚本,然后在自治 AI 数据湖仓实例中运行脚本以创建方案和表。可以使用 Autonomous AI Lakehouse Database Actions SQL 工具运行脚本:
-
在 Oracle Cloud 控制台中,打开自治 AI 数据湖仓数据库详细信息页,然后选择数据库操作。
-
在 Database Actions 中的 Development(开发)下,选择 SQL 。
-
在 SQL 工具中,将脚本从
OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql复制并粘贴到 SQL 工作表中,然后选择运行脚本。如果成功,“Script Output(脚本输出)”选项卡将显示确认消息。 -
清除 SQL 工作表,然后仅复制并粘贴
OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql中的“Create Table(创建表)”脚本。数据将在以后的任务中加载。提示:您可能需要单独运行每个 Create Table 语句,SQL 工具才能成功执行这些脚本。
-
要验证表是否已成功创建,请关闭 SQL 窗口,然后重新打开它。在“Navigator(导航器)”选项卡中,查找 SRC_OCIGGLL 方案,然后从其各自的下拉列表中选择表。
-
任务 1:创建 OCI GoldenGate 资源
此快速入门示例需要源和目标的部署和连接。
任务 2:创建提取
-
在“Deployments(部署)”页面上,选择在“Task 1(任务 1)”中创建的 MySQL 部署。
-
在部署详细信息页上,选择启动控制台。
-
使用在任务 1 中创建部署时指定的管理员身份证明登录源 MySQL 部署控制台。
-
在导航菜单中,选择 DB Connections(DB 连接)。
-
查看 OCI 上 HeatWave 连接的身份证明。记下域和别名。
-
-
对于提取类型,选择更改数据捕获。
-
对于流程名称,输入“提取”流程的名称。
-
对于域,选择域。
-
对于别名,选择别名。
-
对于提取线索名称,输入线索文件的名称。
-
在“参数文件”页上,添加以下内容:
TABLE SRC_OCIGGLL.*;
-
-
使用以下值添加和运行初始加载提取:
-
对于提取类型,选择初始加载提取。
-
在流程名称中,输入名称。
-
在“参数文件”页上,添加以下内容:
TABLE SRC_OCIGGLL.*;
-
任务 3:创建初始加载提取的分配路径
-
在“Deployments(部署)”页面上,选择目标自治 AI 数据库部署。
-
在部署详细信息页上,选择启动控制台,然后以管理员用户身份登录。
-
如果使用 IAM 身份证明存储,请继续执行 "Create a Distribution Path"(创建分发路径)步骤。如果使用 GoldenGate 身份证明存储,则创建源 GoldenGate 用于连接到目标 GoldenGate 的用户。
-
在导航菜单中,选择 User Administration 。
-
选择添加新用户(加号图标),按如下所示填写字段,然后选择提交:
-
对于用户名,输入
ggsnet。 -
对于角色,选择运算符。
-
输入两次口令进行验证。
-
-
-
在 source MySQL 部署控制台中,为上一步中创建的用户创建路径连接。
-
在导航菜单中,选择路径连接。
-
选择添加路径连接(加号图标),按如下所示填写字段,然后选择提交:
-
对于身份证明别名,请输入
dpuser。 -
对于用户 ID,输入
ggsnet -
对于“Password(密码)”,输入上一步中使用的相同密码。
-
-
-
创建分配路径。
-
在服务菜单栏中,选择分发服务,然后选择添加分发路径(加号图标)。
-
按如下方式完成“Add Path(添加路径)”表单:
-
在“路径信息”页面上:
-
对于 Path Name(路径名),输入此路径的名称。
-
选择 Next 。
-
-
在“来源选项”页面上:
-
对于源提取,留空。
-
对于线索名称,输入“初始装入提取”线索名称 (
I1)。 -
选择 Next 。
-
-
在“目标选项”页面上:
-
对于目标,选择 wss 。
-
对于目标主机,输入目标部署 URL,不带 https:// 或任何尾随斜杠。
-
在端口号中,输入
443。 -
对于线索名称,输入
I1。 -
对于目标验证方法,选择用户 ID 别名。
-
对于域,输入在上一步中创建的域名。
-
对于 Alias ,输入在上一步 (
dpuser) 中创建的别名。 -
选择 Next 。
-
-
-
选择创建并运行。
返回到“分配服务”页面,您可以在该页面中查看创建的路径。
-
-
查看分发路径:
-
选择接收者服务。
-
查看分发路径详细信息。
-
任务 4:为初始加载提取添加复制
-
在目标 OCI GoldenGate 部署控制台中,添加检查点表。
-
打开导航菜单,然后选择 DB Connections(DB 连接)。
-
选择连接到数据库。
-
在导航菜单中,选择 Checkpoint 。
-
在“检查点”页中,选择添加检查点(加号图标)。
-
对于检查点表,输入
SRCMIRROR_OCIGGLL.CHECKTABLE。 -
选择提交。
提示:提交时不会刷新屏幕。要确认已添加检查点表,请在搜索字段中输入
SRCMIRROR_OCIGGLL.CHECKTABLE,然后选择搜索。
-
-
添加复制:
-
选择 Administrator Service ,然后选择 Add Replicat (加号图标)。
-
在“添加复制”页上,填写以下表单字段,然后选择下一步。
-
对于 "Replicat" 类型,选择 Nonintegrated Replicat 。
-
对于进程名称,输入名称,例如
RIL。
-
-
在“复制选项”页面上,填写以下表单字段,然后选择下一步:
-
对于名称,输入任务 2 (
I1) 中的线索名称。 -
对于域,选择自治 AI 数据库连接的域。
-
对于别名,选择自治 AI 数据库连接的别名。
-
对于检查点表,选择在步骤 1 中创建的检查点表。
-
-
在“托管选项”页面上,将字段保留原样,然后选择下一步。
-
在“复制参数”页上,添加以下映射,然后选择创建并运行:
MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
您将返回到“Overview(概览)”页面,您可以在该页面中查看复制详细信息。
-
-
选择复制 ( RIL ) 并查看其 Details 。
-
选择统计信息并查看插入数。刷新页。
-
如果插入数未更改,则已装入初始装入中的所有记录,您可以停止复制 ( RIL )
-
如果插入数继续增加,则继续刷新页面,直到全部加载初始加载记录,然后再继续。
-
任务 5:验证初始加载
-
在 Oracle Cloud 控制台中,从 Autonomous AI Lakehouse 数据库详细信息页打开 Database Actions 。
-
在 Database Actions 中的 Development(开发)下,选择 SQL 。
-
在 SQL 工具中,将以下每个语句输入到工作表中,然后选择运行语句:
SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY; SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
输出应返回由于初始加载而加载到目标数据库表中的数据。
任务 6:为更改数据捕获创建分配路径
-
在源部署控制台中,选择 Distribution Service(分配服务)。
-
选择添加分发路径。
-
按如下方式完成“Add Path(添加路径)”表单:
-
在“路径信息”页面上:
-
在路径名中,输入名称。
-
选择 Next 。
-
-
在“来源选项”页面上:
-
对于源提取,选择更改数据捕获提取 (
ECDC)。 -
对于线索名称,选择更改数据捕获线索文件 (
C1)。 -
选择 Next 。
-
-
在“目标选项”页面上:
-
对于目标,选择 wss 。
-
对于目标主机,输入目标部署控制台 URL(您可以在部署详细信息页上找到此 URL,不带 https:// 或任何尾随斜杠)。
-
在端口号中,输入
443。 -
对于线索名称,输入
C1。 -
对于目标验证方法,选择用户 ID 别名。
-
对于域,输入域名。
-
对于 Alias ,输入别名。
-
-
选择创建路径并运行。
-
-
在目标部署控制台中,选择接收方服务,然后查看创建的接收方路径。
任务 7:添加用于更改数据捕获的复制
-
使用以下值添加复制:
-
在“复制信息”页上:
-
对于复制类型,选择协调复制。
-
对于进程名称,输入名称,例如
RCDC。
-
-
在“复制选项”页面上:
-
对于 Replicat Trail ,输入任务 2 (
C1) 中的线索名称。 -
对于域,选择自治 AI 数据库连接的域。
-
对于别名,输入身份证明别名。
-
对于检查点表,选择您创建的检查点表。
-
-
在“复制参数”页上,添加以下映射,然后选择创建并运行:
MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
-
-
在 "Administration Service Overview" 页面上,选择 "Replicat for Initial Load"(初始装入的复制)( RIL ) 并查看其详细信息。
-
选择统计信息并查看插入数。刷新页。
-
如果插入数未更改,则已加载初始加载中的所有记录,您可以停止复制 (RIL)
-
如果插入数继续增加,则继续刷新页面,直到全部加载初始加载记录,然后再继续。
-
-
返回到“管理服务概览”页,然后启动协调复制 (RCDC)。
-
启动协调复制后,查看其详细信息和统计信息以查看插入数。
任务 8:验证更改数据捕获
对基于 OCI 的源 HeatWave 数据库执行更新,以验证复制到自治 AI 数据湖仓。
-
在 OCI Bastion 中,使用 MySQL IP 和端口 3306 创建 SSH 端口转发会话。添加公共 SSH 密钥。
-
使用私钥和端口 3306 连接到 Cloud Shell 中的 MySQL。
-
成功连接后,运行以下命令:
mysqlsh admin@localhost:3306 --sql -
运行以下脚本以对 OCI 数据库上的 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 个插入。
注:如果提取未捕获任何插入,则重新启动提取。