将数据从 YugabyteDB 复制到自治 AI 事务处理

了解如何使用 OCI GoldenGate 将数据从 YugabyteDB 源复制到 Autonomous AI Transaction Processing 目标。

开始之前

要成功完成此快速入门,请确保您具有:

设置 YugabyteDB

要设置 YugabyteDB 实例:
  1. 如果使用 Oracle Cloud Compute 托管 YugabyteDB ,请打开端口 5433:
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --reload 
    sudo firewall-cmd --list-all 
  2. 在 VCN 的安全列表中打开端口 5433。
  3. Connect to YugabyteDB (连接到 YugabyteDB)。
  4. Downlaod the sample data(下载示例数据)
  5. 运行以下命令以设置用户。确保将 <password> 占位符替换为实际密码。
    create user ggadmin with password '<password>'; 
    alter user ggadmin with SUPERUSER; 
    GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin; 

环境设置: Autonomous AI Transaction Processing (ATP)

  1. 下载并解压缩示例数据库方案
  2. 解锁 GGADMIN 用户。
    1. 在 Oracle Cloud 控制台中,从 Autonomous AI Database 页面中选择 ATP 实例,以查看其详细信息并访问 Database Actions。
    2. 依次单击 Database Actions(数据库操作)Database Users(数据库用户)
    3. 定位 GGADMIN ,然后单击其省略号菜单(三个点)并选择编辑
    4. 在“编辑用户”面板中,输入 GGADMIN 密码,确认密码,然后取消选择帐户已锁定
    5. 单击应用更改
  3. 加载目标示例方案和数据。
    1. 从“Database Actions(数据库操作)”菜单中,选择 SQL
    2. 将脚本从 OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql 复制并粘贴到 SQL 工作表中。
    3. 单击运行脚本 “Script Output(脚本输出)”选项卡显示确认消息。
    4. 清除 SQL 工作表,然后从 OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql 中复制并粘贴 SQL。
    5. 要验证表是否已成功创建,请关闭 SQL 窗口,然后重新打开该窗口。在“Navigator(导航器)”选项卡中,查找 SRC_OCIGGLL 方案,然后从其各自的下拉列表中选择表。

任务 1:创建 OCI GoldenGate 资源

此快速入门示例需要源和目标的部署和连接。
  1. 为源 PostgreSQL 数据库创建部署
  2. 为目标 Autonomous AI Transaction Processing 实例创建部署
  3. 创建与源 PostgreSQL 数据库的连接
    1. 对于类型,请确保选择 YugabyteDB
    2. 对于数据库名称,请输入 YugabyteDB 名称。
    3. 对于主机,输入 YugabyteDB 运行的计算实例的公共 IP。
    4. 对于端口,输入 5433
    5. 对于用户名,输入 ggadmin
    6. 对于 Password(密码),输入密码。
    7. 对于 Security Protocol(安全协议),选择 Plain(普通)
  4. 为目标 Autonomous AI Transaction Processing 实例创建连接
  5. 创建与 GoldenGate 的连接,然后将此连接分配给源 PostgreSQL 部署
  6. 将源连接分配给源 PostgreSQL 部署
  7. 将目标连接分配给目标 Oracle 部署

任务 2:启用补充日志记录

要启用补充日志记录,请执行以下操作:
  1. 启动 PostgreSQL GoldenGate 部署控制台:
    1. 从“Deployments(部署)”页面中,选择 PostgreSQL 部署以查看其详细信息。
    2. 在 PostgreSQL 部署详细信息页上,单击启动控制台
    3. 在部署控制台登录页面上,输入之前创建部署时提供的 GoldenGate 管理身份证明。

      注意:

      如果创建部署时未选择 IAM 作为身份证明存储,则需要登录。
  2. 在 GoldenGate 26ai 中,依次单击左侧导航中的 DB Connections(DB 连接)、源 YugabyteDB 数据库和 Trandata
  3. 在“TRANDATA”页上,单击“TRANDATA 信息”旁边的添加 TRANDATA (加号图标)。
  4. 在 Trandata 面板中,对于方案名称,输入 src_ociggll.*,然后单击提交

    注意:

    使用搜索字段搜索 src_ociggll 并验证表是否已添加。

任务 3:创建提取

  1. 添加 Change Data Capture Extract
    1. 在左侧导航中,单击 Extracts
    2. 提取页上,单击添加提取(加号图标),然后按如下方式填写字段:
      • 在“提取信息”页面上:
        1. 对于 Extract(提取)类型,选择 Change Data Capture Extract(提取)
        2. 对于进程名称,输入提取的名称,例如 ECDC
        3. 单击下一步
      • 提取选项页上:
        1. 对于源身份证明,请从下拉列表中选择 Oracle GoldenGate
        2. Alias(别名)下拉列表中选择源 PostgreSQL 数据库。
        3. 对于提取线索名称,输入两个字符的线索名称,例如 C1
        4. 单击下一步
      • 提取“参数”页上,将 MAP *.*, TARGET *.*; 替换为以下内容:
        TABLE SRC_OCIGGLL.*;
    3. 单击创建并运行
  2. 添加初始装入提取
    1. 在“提取”页上,单击添加提取,然后按如下方式完成添加提取表单:
      • 提取信息页上:
        1. 对于 Extract(提取)类型,选择 Initial Load Extract(提取)
        2. 对于进程名称,输入名称,如 EIL
        3. 单击下一步
      • 提取选项页上:
        1. 对于源身份证明,请从下拉列表中选择 Oracle GoldenGate
        2. Alias(别名)下拉列表中选择 YugabyteDB
        3. 对于提取线索名称,输入两个字符的线索名称,例如 I1
        4. 单击下一步
      • 提取“参数”页上,将文本区域的内容替换为以下内容:
        EXTRACT EIL
        USERIDALIAS YugabyteDB_Compute, DOMAIN OracleGoldenGate
        EXTFILE I1, PURGE
        TABLE src_ociggll.*;

        注意:

        在继续操作之前,请确保删除 USERIDALIAS 前面的 SOURCEDB 参数。
    2. 单击创建并运行
返回到 Extracts(提取)页面,在那里可以看到 Extract 开始。

任务 4:为 Initial Load 提取创建 Distribution Path

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

          注意:

          如果创建部署时已选择 GoldenGate 作为身份证明存储,请选择用户 ID 别名。否则,请选择 OAuth
        6. 对于,输入在上一步中创建的域名。
        7. 对于 Alias ,输入在上一步 (dpuser) 中创建的别名。
        8. 单击下一步
    3. 单击创建并运行
    返回到 Distribution Service 页面,可以在其中查看创建的路径。
  6. target Oracle 部署控制台中,查看作为分发路径结果创建的接收器路径:
    1. 单击 Receiver Service
    2. 查看 Distribution Path 详细信息。

任务 5:为 Initial Load 添加 Replicat

  1. 在 Oracle 目标部署中,添加一个 Checkpoint 表。
    1. 在导航菜单中,单击 DB Connections
    2. 依次选择目标 Autonomous AI Database 实例和 Checkpoints
    3. Checkpoints 页面上,单击添加检查点(加号图标)。
    4. Checkpoint 面板中,对于 Schema Table(方案表),输入 SRCMIRROR_OCIGGLL.CHECKTABLE
    5. 单击提交
  2. 添加 Replicat
    1. 在导航菜单上,单击 Replicats
    2. Replicats 页面上,单击添加 Replicat (加号图标),然后按如下方式填写“添加 Replicat”字段:
      • 在“Replicat 信息”页上:
        1. 对于 Replicat 类型,选择 Nonintegrated Replicat
        2. 对于进程名称,输入名称,如 RIL
        3. 单击下一步
      • 在“Replicat 选项”页上:
        1. 对于 Replicat Trail Name ,输入任务 2 (I1) 中的 Trail 的名称。
        2. 对于目标身份证明,为 Autonomous AI Database 连接选择别名
        3. 对于检查点表,选择在步骤 1 中创建的检查点表。
        4. 单击下一步
      • 在“参数文件”页上,将 MAP *.*, TARGET *.*; 替换为以下内容:
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. 单击创建并运行
      返回到 Replicats 页面,您可以在其中查看 Replicat 详细信息。
  3. 选择 Replicat ( RIL ) 并查看其详细信息
  4. 单击统计信息并查看插入数。刷新页。
    • 如果插入数未更改,则已加载 Initial Load 中的所有记录,您可以停止 Replicat ( RIL )
    • 如果插入数继续增加,则继续刷新页面,直到所有 Initial Load 记录都加载完毕,然后再继续。
  5. 核实 Initial Load
    1. Oracle Cloud 控制台Autonomous AI Database 详细信息页面上,依次单击 Database actions(数据库操作)SQL
    2. 在 SQL 工具中,将以下每个语句输入到工作表中,然后单击运行语句
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
    输出应返回由于 Initial Load 而加载到目标数据库表中的数据。

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

  1. PostgreSQL 部署控制台中,单击 Distribution Service
  2. 单击添加 Distribution Path
  3. 按如下方式完成“Add Path(添加路径)”表单:
    1. 在“路径信息”页面上:
      1. 路径名中,输入名称。
      2. 单击下一步
    2. 在“来源选项”页面上:
      1. 对于Extract ,选择 Change Data Capture Extract (ECDC))。
      2. 对于线索名称,选择 Change Data Capture 线索文件 (C1)。
      3. 单击下一步
    3. 在“目标选项”页面上:
      1. 对于目标,选择 wss
      2. 对于目标主机,输入目标部署控制台 URL(您可以在部署详细信息页上找到此 URL,不带 https:// 或任何尾随斜杠)。
      3. 端口号中,输入 443
      4. 对于线索名称,输入 C1
      5. 对于目标验证方法,选择 OAuth

        注意:

        如果创建部署时已选择 GoldenGate 作为身份证明存储,请选择用户 ID 别名。否则,请选择 OAuth
      6. 对于,输入域名。
      7. 对于 Alias ,输入别名。
    4. 单击创建路径并运行
  4. 在目标 Oracle 部署控制台中,单击接收方服务,然后查看创建的接收方路径。

任务 7:为 Change Data Capture 添加 Replicat

  1. target Oracle 部署控制台中,添加 Replicat
    1. 在“管理服务”导航菜单中,单击 Replicats
    2. Replicats 页面上,单击“添加 Replicat”(加号图标),然后按如下方式填写“添加 Replicat”表单:
      • 在“复制信息”页上:
        1. 对于 Replicat 类型,选择 Nonintegrated Replicat
        2. 对于进程名称,输入名称,如 RCDC
        3. 单击下一步
      • 在“Replicat 选项”页上:
        1. 对于 Replicat Trail Name ,输入任务 3 (C1) 中的 Trail 的名称。
        2. 对于目标身份证明,选择 Autonomous AI Database 连接的域和别名。
        3. 对于 Checkpoint Table ,选择 Checkpoint 表。
      • 在“Replicat 参数”页上,将 MAP *.*, TARGET *.*; 替换为以下映射:
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. 单击创建。请勿运行 Replicat
  2. Replicats 页上,选择 Initial LoadReplicat ( RIL ) 并查看其详细信息
  3. 单击统计信息并查看插入数。刷新页。
    • 如果插入数未更改,则已加载 Initial Load 中的所有记录,您可以停止 Replicat (RIL)
    • 如果插入数继续增加,则继续刷新页面,直到所有 Initial Load 记录都加载完毕,然后再继续。

    注意:

    如果未看到任何插入,请单击性能度量服务,选择提取,然后单击数据库统计信息
  4. 返回到 Replicats 页,然后为 Change Data Capture (RCDC) 启动 Replicat
  5. Change Data Capture 启动 Replicat 之后,查看其详细信息统计信息以查看插入数。
  6. 验证复制:
    1. 运行以下脚本以对 PostgreSQL 数据库执行插入:
      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);
    2. 在源 PostgreSQL 部署控制台中,选择 Change Data Capture Extract (ECDC),然后单击统计信息。验证 src_ociggll.src_city 是否具有 10 个插入。

      注意:

      如果 Extract 未捕获任何插入,则重新启动 ECDC Extract
    3. 在目标 Oracle 部署控制台中,选择 Replicat 名称 (RCDC),查看其详细信息,然后检查统计信息。验证 SRCMIRROR_OCIGGLL.SRC_CITY 是否具有 10 个插入。

任务 8:监控和维护流程

  1. 监视性能
  2. Manage Trail files(管理线索文件)