将数据从 Azure SQL 托管实例复制到自治事务处理

了解如何使用 OCI GoldenGate 将数据从 Azure SQL 托管实例复制到 Autonomous Database。

开始之前

要成功完成此快速启动,您必须:
  1. 创建 Azure SQL 托管实例资源
  2. 配置 Azure SQL 托管实例以允许公共连接
  3. 使用 SQL 客户端连接到 Azure SQL 托管实例,然后完成以下步骤:
    1. 创建 GGADMIN 用户:
      CREATE login GGADMIN with password = 'W3lcome@1234'
      Create user GGADMIN for login GGADMIN
      ALTER SERVER ROLE sysadmin ADD MEMBER GGADMIN

      注意:

      只有添加 TRANDATA 和 Heartbeat tables 时才需要 sysadmin 角色。然后,您可以删除 sysadmin 权限,改用 db_owner: ALTER ROLE db_owner ADD MEMBER GGADMIN;
    2. 创建数据库:
      Create database SRC_OCIGGLL
    3. 以新创建的用户 (GGADMIN) 和数据库 (SRC_OCIGGLL) 的身份断开连接并重新连接。
    4. 在数据库级别启用更改数据捕获 (CDC):
      EXECUTE sys.sp_cdc_enable_db
    5. 创建方案:
      Create schema GGADMIN
    6. 运行 SQL 脚本
  4. 设置自治事务处理:
    1. 下载并解压缩示例数据库方案
    2. 在 Oracle Cloud 控制台中,从“自治数据库”页中选择 ATP 实例以查看其详细信息。
    3. 单击数据库操作
    4. 解锁 GGADMIN 用户:
      1. 管理下,单击数据库用户
      2. 找到 GGADMIN ,然后单击其省略号菜单(三个点),然后选择编辑
      3. 在 "Edit User" 面板中,输入 GGADMIN 密码,确认密码,然后取消选择 Account is Locked
      4. 单击应用更改
    5. 加载目标示例方案和数据:
      1. 从“数据库操作”菜单的开发下,选择 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. 为源 SQL Server 和目标 Oracle 数据库创建部署
  2. 使用以下值为 Azure SQL 数据库创建 Azure 托管实例连接
    1. 对于数据库,输入 SRC_OCIGGLL
    2. 对于端口,输入公共端点的 3342
    3. 对于主机,使用 Azure 控制台中 Azure 托管实例详细信息页中的服务器名称(例如 xyz.database.windows.net)。
    4. 对于用户,输入 GGADMIN
    5. 对于口令,输入 GGADMIN 用户口令。
    6. 对于安全协议,从下拉列表中选择
  3. 将 Azure 管理实例连接分配给 SQL Server 部署
  4. 创建 GoldenGate 连接,然后将其分配给 SQL Server 部署
  5. 创建自治事务处理 (ATP) 连接
  6. 将 ATP 连接分配给 Oracle 部署

任务 2:创建提取

创建 Initial LoadChange Data Capture Extracts
  1. 在“Deployments(部署)”页面上,选择在任务 1 中创建的 SQL Server 部署。
  2. 在“部署详细信息”页上,单击启动控制台
  3. 使用在任务 1 中创建部署时指定的管理员身份证明登录源 SQL Server 部署控制台。
  4. 添加事务处理信息
    1. 在导航菜单中,依次单击数据库连接、源数据库和 TRANDATA
    2. 在 TRANDATA 页面上,单击添加 TRANDATA (加号图标)。
    3. 在“添加 Trandata”面板中,对于方案名称,输入 SRC_OCIGGLL,然后单击提交

      提示:

      提交时不会刷新屏幕。要确认添加了 TRANDATA,请在搜索字段中输入 SRC_OCIGGLL,然后单击搜索。返回 SRC_OCIGGLL,准备 6 个表进行实例化。
  5. 下一步,在导航菜单中依次选择任务Purge Change Data 并完成以下操作:
    1. 单击添加清除更改数据(添加图标)。
    2. 输入名称。
    3. 单击提交
  6. 添加 Initial Load Extract
    1. Extracts 页面上,单击 Add Extract (加号图标),然后按如下方式完成表单:
      • 在“Extract 信息”页面上:
        1. 对于 Extract 类型,选择 Initial Load
        2. 进程名中,输入 EIL
        3. 单击下一步
      • 在“参数文件”页上,将 MAP *.*, TARGET *.*; 替换为以下内容:
        TABLE SRC_OCIGGLL.*;
    2. 单击创建并运行
    您返回到“提取”页面,提取可能需要一段时间才能开始。然后可以选择提取以查看其详细信息并查看报告文件。它列出所有表以及每个表的导出记录数。
  7. 添加 Integrated Extract
    1. 在导航菜单中,单击 Extracts
    2. Extracts 页面上,单击 Add Extract (加号图标),然后按如下方式完成表单:
      • 在“Extract 信息”页面上:
        1. 对于 Extract 类型,选择 Change Data Capture
        2. 进程名中,输入 ECDC
        3. 单击下一步
      • 在“提取选项”页面上:
        1. 对于源身份证明,选择源数据库的文件夹别名
        2. 对于 Extract Trail Name ,输入两个字符的名称,例如 C1
        3. 单击下一步
      • 在“参数文件”页上,将 MAP *.*, TARGET *.*; 替换为以下内容:
        TABLE SRC_OCIGGLL.*;
    3. 单击创建并运行

任务 3:创建 Distribution Paths

  1. 如果使用 GoldenGate 身份证明存储,请在目标 Oracle 部署中Distribution Path 创建用户,并在源 SQL Server 部署中创建一个路径连接。如果使用 IAM 身份证明存储,请跳过此步骤。
  2. 在源 Azure SQL 托管实例 GoldenGate 部署控制台中,Initial Load Extract 创建 Distribution Path 。在示例中,我们将 Initial Load Extract 命名为 EIL
  3. Change Data Capture Extract 创建 Distribution Path 。在示例中,我们将 Change Data Capture Extract 命名为 ECDC

任务 4:创建副本

  1. 启动并登录到在任务 1 中创建的 Oracle 部署控制台。
  2. 打开导航菜单,然后单击数据库连接
  3. 单击连接到数据库
  4. 添加 Checkpoint table
    1. 在导航菜单中,单击 Checkpoint
    2. Checkpoint 页中,单击添加 Checkpoint (加号图标)。
    3. 对于 Checkpoint Table,输入 SRCMIRROR_OCIGGLL.CHECKTABLE
    4. 单击提交
      新的 Checkpoint table 将出现在列表中。
  5. Initial Load Extract 添加 Replicat
    1. 依次单击 Administrator Service(管理员服务)Replicats
    2. Replicats 页面上,单击添加 Replicat (加号图标),然后按如下方式完成表单:
      1. Replicat 信息中,填写以下表单字段,然后单击下一步
        1. 对于 Replicat 类型,选择 Nonintegrated Replicat
        2. 对于进程名,输入名称,例如 RIL
      2. 在“Replicat 选项”页面上,填写以下表单字段,然后单击下一步
        1. 对于名称,输入任务 2 中的线索名称 (I1)。
        2. 对于,选择用于 Autonomous Database 连接的域。
        3. 对于别名,选择 Autonomous Database 连接的别名。
        4. 对于 Checkpoint table ,选择在步骤 4 中创建的 Checkpoint table
      3. 在“参数”页上,添加以下映射,然后单击创建并运行
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;

      您可以返回到“概览”页,在其中可以查看 Replicat 详细信息。

    3. 选择 Replicat ( RIL ) 并查看其详细信息
    4. 单击统计信息并查看插入数。刷新页。
      • 如果插入数未更改,则已加载 Initial Load 中的所有记录,您可以停止 Replicat ( RIL )。
      • 如果插入数继续增加,则继续刷新页面,直到加载完 Initial Load 记录后再继续。
  6. Change Data Capture 添加 Replicat
    1. Replicats 页面上,单击添加 Replicat (加号图标),然后按如下方式完成表单:
      1. Replicat 信息中,填写以下表单字段,然后单击下一步
        1. 对于 Replicat 类型,选择 Nonintegrated Replicat
        2. 对于进程名,输入名称,例如 RCDC
      2. 在“Replicat 选项”页面上,填写以下表单字段,然后单击下一步
        1. 对于线索名称,输入任务 2 中的线索名称 (C1)。
        2. 对于,选择用于 Autonomous Database 连接的域。
        3. 对于别名,选择 Autonomous Database 连接的别名。
        4. 对于 Checkpoint table ,选择在步骤 4 中创建的 Checkpoint table
      3. 在“参数”页上,添加以下映射:
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    2. 单击创建。不运行 Replicat
    3. Replicats 页上,为 Initial Load ( RIL ) 选择 Replicat 并查看其详细信息
    4. 单击统计信息并查看插入数。刷新页。
      • 如果插入数未更改,则已加载 Initial Load 中的所有记录,您可以停止 Replicat (RIL)。
      • 如果插入数继续增加,则继续刷新页面,直到加载完 Initial Load 记录后再继续。

        注意:

        如果未看到任何插入,请单击 Performance Metrics Service ,选择 Extract ,然后单击数据库统计信息
    5. 返回到 Administration Service Replicats 页,然后启动 RCDC Replicat
    6. 启动 RCDC 后,查看其详细信息统计信息以查看插入数。