将数据从 HeatWave 复制到 Autonomous Data Warehouse

了解如何使用 OCI GoldenGate 将数据从 HeatWave 复制到 Autonomous Data Warehouse。

开始之前

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

  • OCI 堡垒,用于连接到 HeatWave 、加载示例数据库并执行插入
  • 用作源数据库的 HeatWave 数据库
  • 用作目标数据库的 Autonomous Data Warehouse 实例

环境设置: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 创建入站规则。
  4. 下载目标方案脚本,然后在 Autonomous Data Warehouse 实例中运行这些脚本来创建方案和表。您可以使用 Autonomous Data Warehouse Database Actions SQL 工具运行以下脚本:
    1. Oracle Cloud 控制台中,打开 Autonomous Data Warehouse 数据库详细信息页面,然后单击 Database Actions(数据库操作)
    2. 在 Database Actions 中,在 Development(开发)下,单击 SQL
    3. 在 SQL 工具中,将脚本从 OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql 复制并粘贴到 SQL 工作表中,然后单击运行脚本。如果成功,“脚本输出”选项卡将显示确认消息。
    4. 清除 SQL 工作表,然后从 OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql 仅复制并粘贴“Create Table(创建表)”脚本。数据将在以后的任务中加载。

      提示:

      您可能需要单独运行每个 Create Table 语句,SQL 工具才能成功执行这些脚本。
    5. 要验证表已成功创建,请关闭 SQL 窗口,然后重新打开。在“导航器”选项卡中,查找 SRC_OCIGGLL 方案,然后从各自的下拉列表中选择表。

任务 2:创建提取

  1. 在“Deployments(部署)”页面上,选择在任务 1 中创建的 MySQL 部署。
  2. 在部署详细信息页上,单击启动控制台
  3. 使用在任务 1 中创建部署时指定的管理员身份证明登录源 MySQL 部署控制台。
  4. 在导航菜单中,选择 DB Connections
  5. 查看 HeatWave 连接的凭证。记下域和别名。
  6. 添加并运行具有以下值的 Change Data Capture Extract
    • 对于 Extract 类型,选择 Change Data Capture
    • 对于进程名,输入 Extract 进程的名称。
    • 对于,选择域。
    • 对于别名,选择别名。
    • 对于 Extract Trail Name ,输入 Trail 文件的名称。
    • 在“参数文件”页上,添加以下内容:
      TABLE SRC_OCIGGLL.*;
  7. 添加并运行初始加载提取,其中包含以下值:
    • 对于 Extract 类型,选择 Initial Load Extract
    • 对于流程名称,输入名称。
    • 在“参数文件”页上,添加以下内容:
      TABLE SRC_OCIGGLL.*;

任务 3:为 Initial Load Extract 创建 Distribution Path

  1. 在“Deployments(部署)”页面上,选择目标 Autonomous Database 部署。
  2. 在部署详细信息页上,单击启动控制台,然后以管理员用户身份登录。
  3. 如果使用 IAM 身份证明存储,请继续执行“创建 Distribution Path”步骤。如果使用 GoldenGate 身份证明存储,则创建源 GoldenGate 用于连接到目标 GoldenGate 的用户。
    1. 在导航菜单中,单击用户管理
    2. 单击添加新用户(加号图标),按如下所示填写字段,然后单击提交
      • 对于用户名,请输入 ggsnet
      • 对于角色,选择运算符
      • 输入口令两次以进行验证。
  4. PostgreSQL 部署控制台中,为在上一步中创建的用户创建路径连接。
    1. 在导航菜单中,单击路径连接
    2. 单击添加路径连接(加号图标),按如下所示填写字段,然后单击提交
      • 对于身份证明别名,输入 dpuser
      • 对于用户 ID,输入 ggsnet
      • 对于“密码”,输入上一步中使用的相同密码。
  5. 创建 Distribution Path
    1. 在服务菜单栏中,单击 Distribution Service ,然后单击添加 Distribution Path (加号图标)。
    2. 按以下操作完成“添加路径”表单:
      • 在“路径信息”页上:
        1. 对于路径名,输入此路径的名称。
        2. 单击下一步
      • 在“来源选项”页面上:
        1. 对于Extract ,留空。
        2. 对于线索名称,输入 Initial Load Extract 线索名称 (I1)。
        3. 单击下一步
      • 在“目标选项”页面上:
        1. 对于 Target(目标),选择 wss
        2. 对于目标主机,输入不带 https:// 或任何尾随斜杠的目标部署 URL。
        3. 对于端口号,输入 443
        4. 线索名称中,输入 I1
        5. 对于目标验证方法,选择 UserID 别名
        6. 对于,输入在上一步中创建的域名。
        7. 对于别名,输入在上一步 (dpuser) 中创建的别名。
        8. 单击下一步
    3. 单击创建并运行
    您可以返回到 Distribution Service 页面,在其中可以查看创建的路径。
  6. 查看 Distribution Path
    1. 单击 Receiver Service
    2. 查看 Distribution Path 详细信息。

任务 4:为 Initial Load Extract 添加 Replicat

  1. 在目标 OCI GoldenGate 部署控制台中,添加检查点表。
    1. 打开导航菜单,然后单击数据库连接
    2. 单击连接到数据库 SourceATP
    3. 在导航菜单中,单击检查点
    4. 在“检查点”页中,单击添加检查点(加号图标)。
    5. 对于检查点表,输入 SRCMIRROR_OCIGGLL.CHECKTABLE
    6. 单击提交

      提示:

      提交时不会刷新屏幕。要确认已添加检查点表,请在搜索字段中输入 SRCMIRROR_OCIGGLL.CHECKTABLE,然后单击搜索
  2. 添加 Replicat
    1. 单击 Administrator Service ,然后单击添加 Replicat (加号图标)。
    2. 在“添加 Replicat”页上,填写以下表单字段,然后单击下一步
      • 对于复制类型,选择 Nonintegrated Replicat
      • 对于进程名,输入名称,例如 RIL
    3. Replicat“选项”页上,填写以下表单字段,然后单击下一步
      • 对于名称,输入任务 2 中的线索名称 (I1)。
      • 对于,选择用于 Autonomous Database 连接的域。
      • 对于别名,选择 Autonomous Database 连接的别名。
      • 对于检查点表,选择在步骤 1 中创建的检查点表。
    4. 在“托管选项”页上,将字段保留原样,然后单击下一步
    5. 在“Replicat 参数”页上,添加以下映射,然后单击创建并运行
      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    您将返回到“概览”页,您可以在其中查看 Replicat 详细信息。
  3. 选择 Replicat ( RIL ) 并查看其详细信息
  4. 单击统计信息并查看插入数。刷新页。
    • 如果插入数未更改,则已加载 Initial Load 中的所有记录,您可以停止 Replicat ( RIL )
    • 如果插入数继续增加,则继续刷新页面,直到初始加载记录全部加载,然后再继续。

任务 5:验证初始加载

  1. Oracle Cloud 控制台中,从 Autonomous Data Warehouse 数据库详细信息页面打开数据库操作
  2. 在 Database Actions 中,在 Development(开发)下,单击 SQL
  3. 在 SQL 工具中,在工作表中输入以下每个语句,然后单击运行语句
    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
输出应返回因初始加载而加载到目标数据库表中的数据。

任务 6:为 Change Data Capture 创建 Distribution Path

  1. 在源部署控制台中,单击 Distribution Service
  2. 单击添加 Distribution Path
  3. 按以下操作完成“添加路径”表单:
    1. 在“路径信息”页上:
      1. 对于路径名,输入名称。
      2. 单击下一步
    2. 在“来源选项”页面上:
      1. 对于Extract ,选择 Change Data Capture Extract (ECDC))。
      2. 对于线索名称,选择 Change Data Capture 线索文件 (C1)。
      3. 单击下一步
    3. 在“目标选项”页面上:
      1. 对于 Target(目标),选择 wss
      2. 对于目标主机,输入目标部署控制台 URL(您可以在部署详细信息页上找到此 URL,不带 https:// 或任何尾随斜杠)。
      3. 对于端口号,输入 443
      4. 对于线索名称,输入 C1
      5. 对于目标验证方法,选择 UserID 别名
      6. 中,输入域名。
      7. 对于别名,请输入别名。
    4. 单击创建路径并运行
  4. 在目标部署控制台中,单击 Receiver Service ,然后查看创建的 Receiver path

任务 7:为 Change Data Capture 添加 Replicat

  1. 使用以下值添加 Replicat
    1. 在“Replicat 信息”页上:
      • 对于 Replicat 类型,选择 Coordinated Replicat
      • 对于进程名,输入名称,例如 RCDC
    2. 在“Replicat 选项”页上:
      • 对于 Replicat 线索,输入任务 2 中的线索名称 (C1)。
      • 对于,选择用于 Autonomous Database 连接的域。
      • 对于别名,输入身份证明别名。
      • 对于检查点表,选择您创建的检查点表。
    3. 在“Replicat 参数”页上,添加以下映射,然后单击创建并运行
      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
  2. Administration Service“概览”页上,为 Initial Load ( RIL ) 选择 Replicat 并查看其详细信息
  3. 单击统计信息并查看插入数。刷新页。
    • 如果插入数未更改,则已加载初始加载中的所有记录,您可以停止 Replicat (RIL)
    • 如果插入数继续增加,则继续刷新页面,直到初始加载记录全部加载,然后再继续。
  4. 返回到“管理服务概览”页,然后启动 Coordinated Replicat (RCDC)。
  5. 启动 Coordinated Replicat 后,请查看其详细信息统计信息以查看插入数。

任务 8:验证 Change Data Capture

对源 HeatWave 数据库执行更新以验证复制到 Autonomous Data Warehouse。
  1. 在 OCI Bastion 中,使用 MySQL IP 和端口 3306 创建 SSH 端口转发会话。添加公共 SSH 密钥。
  2. 使用您的私钥和端口 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 名称,然后单击统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。

    注意:

    如果 Extract 未捕获任何插入,则重新启动 Extract

任务 9:监控和维护流程

  1. 监视性能
  2. 管理线索文件