将数据从 OCI 上的 HeatWave 复制到 Autonomous AI Lakehouse

了解如何使用 OCI GoldenGate 将数据从基于 OCI 的 HeatWave 复制到 Autonomous AI Lakehouse。

开始之前

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

环境设置:基于 OCI 的 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 创建入站规则。

  4. 下载目标方案脚本,然后在自治 AI 数据湖仓实例中运行脚本以创建方案和表。可以使用 Autonomous AI Lakehouse Database Actions SQL 工具运行脚本:

    1. 在 Oracle Cloud 控制台中,打开自治 AI 数据湖仓数据库详细信息页,然后选择数据库操作

    2. 在 Database Actions 中的 Development(开发)下,选择 SQL

    3. 在 SQL 工具中,将脚本从 OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql 复制并粘贴到 SQL 工作表中,然后选择运行脚本。如果成功,“Script Output(脚本输出)”选项卡将显示确认消息。

    4. 清除 SQL 工作表,然后仅复制并粘贴 OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql 中的“Create Table(创建表)”脚本。数据将在以后的任务中加载。

      提示:您可能需要单独运行每个 Create Table 语句,SQL 工具才能成功执行这些脚本。

    5. 要验证表是否已成功创建,请关闭 SQL 窗口,然后重新打开它。在“Navigator(导航器)”选项卡中,查找 SRC_OCIGGLL 方案,然后从其各自的下拉列表中选择表。

任务 1:创建 OCI GoldenGate 资源

此快速入门示例需要源和目标的部署和连接。

  1. 为 OCI 数据库上的源 HeatWave 创建部署

  2. 为目标自治 AI 数据湖仓创建部署

  3. 创建与 OCI 数据库上的源 HeatWave 的连接

  4. 为目标自治 AI 数据湖仓创建连接

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

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

  7. 将目标连接分配给目标 Oracle 部署

任务 2:创建提取

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

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

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

  4. 在导航菜单中,选择 DB Connections(DB 连接)

  5. 查看 OCI 上 HeatWave 连接的身份证明。记下域和别名。

  6. 添加和运行具有以下值的更改数据捕获提取

    • 对于提取类型,选择更改数据捕获

    • 对于流程名称,输入“提取”流程的名称。

    • 对于,选择域。

    • 对于别名,选择别名。

    • 对于提取线索名称,输入线索文件的名称。

    • 在“参数文件”页上,添加以下内容:

      TABLE SRC_OCIGGLL.*;
  7. 使用以下值添加和运行初始加载提取

    • 对于提取类型,选择初始加载提取

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

    • 在“参数文件”页上,添加以下内容:

      TABLE SRC_OCIGGLL.*;

任务 3:创建初始加载提取的分配路径

  1. 在“Deployments(部署)”页面上,选择目标自治 AI 数据库部署。

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

  3. 如果使用 IAM 身份证明存储,请继续执行 "Create a Distribution Path"(创建分发路径)步骤。如果使用 GoldenGate 身份证明存储,则创建源 GoldenGate 用于连接到目标 GoldenGate 的用户。

    1. 在导航菜单中,选择 User Administration

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

      • 对于用户名,输入 ggsnet

      • 对于角色,选择运算符

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

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

    1. 在导航菜单中,选择路径连接

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

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

      • 对于用户 ID,输入 ggsnet

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

  5. 创建分配路径。

    1. 在服务菜单栏中,选择分发服务,然后选择添加分发路径(加号图标)。

    2. 按如下方式完成“Add Path(添加路径)”表单:

      • 在“路径信息”页面上:

        1. 对于 Path Name(路径名),输入此路径的名称。

        2. 选择 Next

      • 在“来源选项”页面上:

        1. 对于源提取,留空。

        2. 对于线索名称,输入“初始装入提取”线索名称 (I1)。

        3. 选择 Next

      • 在“目标选项”页面上:

        1. 对于目标,选择 wss

        2. 对于目标主机,输入目标部署 URL,不带 https:// 或任何尾随斜杠。

        3. 端口号中,输入 443

        4. 对于线索名称,输入 I1

        5. 对于目标验证方法,选择用户 ID 别名

        6. 对于,输入在上一步中创建的域名。

        7. 对于 Alias ,输入在上一步 (dpuser) 中创建的别名。

        8. 选择 Next

    3. 选择创建并运行

    返回到“分配服务”页面,您可以在该页面中查看创建的路径。

  6. 查看分发路径:

    1. 选择接收者服务

    2. 查看分发路径详细信息。

任务 4:为初始加载提取添加复制

  1. 在目标 OCI GoldenGate 部署控制台中,添加检查点表。

    1. 打开导航菜单,然后选择 DB Connections(DB 连接)

    2. 选择连接到数据库

    3. 在导航菜单中,选择 Checkpoint

    4. 在“检查点”页中,选择添加检查点(加号图标)。

    5. 对于检查点表,输入 SRCMIRROR_OCIGGLL.CHECKTABLE

    6. 选择提交

      提示:提交时不会刷新屏幕。要确认已添加检查点表,请在搜索字段中输入 SRCMIRROR_OCIGGLL.CHECKTABLE,然后选择搜索

  2. 添加复制:

    1. 选择 Administrator Service ,然后选择 Add Replicat (加号图标)。

    2. 在“添加复制”页上,填写以下表单字段,然后选择下一步

      • 对于 "Replicat" 类型,选择 Nonintegrated Replicat

      • 对于进程名称,输入名称,例如 RIL

    3. 在“复制选项”页面上,填写以下表单字段,然后选择下一步

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

      • 对于,选择自治 AI 数据库连接的域。

      • 对于别名,选择自治 AI 数据库连接的别名。

      • 对于检查点表,选择在步骤 1 中创建的检查点表。

    4. 在“托管选项”页面上,将字段保留原样,然后选择下一步

    5. 在“复制参数”页上,添加以下映射,然后选择创建并运行

      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;

    您将返回到“Overview(概览)”页面,您可以在该页面中查看复制详细信息。

  3. 选择复制 ( RIL ) 并查看其 Details

  4. 选择统计信息并查看插入数。刷新页。

    • 如果插入数未更改,则已装入初始装入中的所有记录,您可以停止复制 ( RIL )

    • 如果插入数继续增加,则继续刷新页面,直到全部加载初始加载记录,然后再继续。

任务 5:验证初始加载

  1. 在 Oracle Cloud 控制台中,从 Autonomous AI Lakehouse 数据库详细信息页打开 Database Actions

  2. 在 Database Actions 中的 Development(开发)下,选择 SQL

  3. 在 SQL 工具中,将以下每个语句输入到工作表中,然后选择运行语句

    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;

输出应返回由于初始加载而加载到目标数据库表中的数据。

任务 6:为更改数据捕获创建分配路径

  1. 在源部署控制台中,选择 Distribution Service(分配服务)

  2. 选择添加分发路径

  3. 按如下方式完成“Add Path(添加路径)”表单:

    1. 在“路径信息”页面上:

      1. 路径名中,输入名称。

      2. 选择 Next

    2. 在“来源选项”页面上:

      1. 对于源提取,选择更改数据捕获提取 (ECDC)。

      2. 对于线索名称,选择更改数据捕获线索文件 (C1)。

      3. 选择 Next

    3. 在“目标选项”页面上:

      1. 对于目标,选择 wss

      2. 对于目标主机,输入目标部署控制台 URL(您可以在部署详细信息页上找到此 URL,不带 https:// 或任何尾随斜杠)。

      3. 端口号中,输入 443

      4. 对于线索名称,输入 C1

      5. 对于目标验证方法,选择用户 ID 别名

      6. 对于,输入域名。

      7. 对于 Alias ,输入别名。

    4. 选择创建路径并运行

  4. 在目标部署控制台中,选择接收方服务,然后查看创建的接收方路径。

任务 7:添加用于更改数据捕获的复制

  1. 使用以下值添加复制:

    1. 在“复制信息”页上:

      • 对于复制类型,选择协调复制

      • 对于进程名称,输入名称,例如 RCDC

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

      • 对于 Replicat Trail ,输入任务 2 (C1) 中的线索名称。

      • 对于,选择自治 AI 数据库连接的域。

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

      • 对于检查点表,选择您创建的检查点表。

    3. 在“复制参数”页上,添加以下映射,然后选择创建并运行

      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
  2. 在 "Administration Service Overview" 页面上,选择 "Replicat for Initial Load"(初始装入的复制)( RIL ) 并查看其详细信息

  3. 选择统计信息并查看插入数。刷新页。

    • 如果插入数未更改,则已加载初始加载中的所有记录,您可以停止复制 (RIL)

    • 如果插入数继续增加,则继续刷新页面,直到全部加载初始加载记录,然后再继续。

  4. 返回到“管理服务概览”页,然后启动协调复制 (RCDC)。

  5. 启动协调复制后,查看其详细信息统计信息以查看插入数。

任务 8:验证更改数据捕获

对基于 OCI 的源 HeatWave 数据库执行更新,以验证复制到自治 AI 数据湖仓。

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

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

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

    mysqlsh admin@localhost:3306 --sql
  4. 运行以下脚本以对 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;
  5. 在源 MySQL 部署控制台中,选择“更改数据捕获提取”名称,然后选择统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。

注:如果提取未捕获任何插入,则重新启动提取。

任务 9:监控和维护流程

  1. 监视复制过程

  2. Manage Trail files(管理线索文件)