执行迁移任务

由于 OCI GoldenGate 是完全托管的云服务,因此您无法将 Trail 和其他 Oracle GoldenGate 配置文件(例如 Param 文件)迁移到 OCI GoldenGate 部署。您将开始使用 OCI GoldenGate。但是,您可以与您正在迁移的 Oracle GoldenGate 实例和新 OCI GoldenGate 部署同步,确保迁移期间不会丢失任何数据。要将 Oracle GoldenGate 迁移到 OCI GoldenGate,请使用要迁移的 Oracle GoldenGate 实例将所有活动未结事务处理从源数据库排空到 Trail 文件,然后切换到新的 OCI GoldenGate 部署。

创建一个部署

OCI GoldenGate 部署与您的完整本地部署 Oracle GoldenGate 微服务或经典架构安装部署类似。

对于要迁移的每个 Oracle GoldenGate 实例,请创建等效的 OCI GoldenGate 部署。您还可以选择为所需的每个复制环境架构创建 OCI GoldenGate 部署。

有关更多信息,请参见 Deployments

创建连接

连接是 OCI GoldenGate 用于与源或目标数据库建立网络和连接的资源。创建连接时,OCI GoldenGate 将在 OCI GoldenGate 和您的租户 VCN(您的数据库所在的位置)之间创建专用网络连接。连接还捕获数据库身份证明并将其同步到 OCI GoldenGate 部署。对身份证明所做的任何更改(例如更新或删除)都将同步到 OCI GoldenGate。

确保使用与要迁移的 Oracle GoldenGate 实例相同的凭证,为 OCI GoldenGate 中的所有源数据库和目标数据库创建连接。

有关更多信息,请参见 Explore connections

迁移提取

创建连接并创建必要的 OCI GoldenGate 部署后,下一个重要步骤是从要迁移的 Oracle GoldenGate 实例迁移提取。

作为一项完全托管的服务,root 用户无法访问 OCI GoldenGate。线索文件和配置文件不能简单地复制到 OCI GoldenGate 部署中。要迁移这些文件,必须首先耗尽所迁移的 Oracle GoldenGate 实例的 Trail 文件中的所有活动未结事务处理,然后将这些事务处理复制到目标数据库中。

对于您正在迁移的 Oracle GoldenGate 实例中的每个更改数据捕获 (Change Data Capture,CDC) 提取,请执行以下步骤。确保为同一应用程序或数据库中的所有提取和复制执行迁移步骤。

  1. 在 OCI GoldenGate 部署控制台中添加和运行新的提取,以捕获您正在迁移的 Oracle GoldenGate 实例捕获的相同表。确保将提取文件参数复制到 OCI GoldenGate 部署控制台中的新提取。

    注: OCI GoldenGate 不支持经典提取。必须切换到“集成提取”。有关更多信息,请参见 Performing Pre-Migration Tasks 下的步骤 3。

  2. 确保提取正在运行并捕获数据,并且线索文件已填充数据。

  3. 强制源数据库归档日志:

    alter system archive log current
  4. 查询源数据库以确定当前 SCN 并记下编号:

    select **current_scn** from v$database
  5. 在要迁移的 Oracle GoldenGate 实例中,运行以下命令:

    info extract [name], showch

    查看“Recovery Checkpoint(恢复检查点)”和“Current Checkpoint(当前检查点)”下显示的时间戳,并检查时间差是否小于一小时。如果时间差大于一小时,则步骤 6 将需要更长的时间才能完成。

    send extract [name] showtrans

    此命令返回提取跟踪的最早未结事务处理。请注意返回的 SCN。如果结果为空,则重复步骤 5 并记下恢复检查点 SCN。

  6. 等待几分钟,然后重复步骤 5,直到所需的最早未完成事务处理 SCN 高于步骤 4 中获取的 current_scn 值。

    注:如果不满足此条件,则需要考虑在源数据库中提交未结事务处理,以便可以继续迁移。

  7. 此时,您要迁移的 Oracle GoldenGate 实例已成功捕获未被 OCI GoldenGate Extract 捕获的所有未结事务处理。复制在要迁移到目标数据库的 Oracle GoldenGate 实例中应用的这些事务处理。现在,您可以停止 Oracle GoldenGate 实例:

    stop extract [name], force
  8. 检查并记下要迁移的当前检查点 SCN 的 Oracle GoldenGate 实例的提取:

    info extract [name], showch

迁移数据泵提取

此步骤为可选步骤。如果您未在要迁移的 Oracle GoldenGate 实例中使用数据泵提取,则可以继续执行下一个迁移任务。

对要迁移的 Oracle GoldenGate 实例中的每个数据泵提取执行以下步骤:

  1. 当数据泵提取位于文件末尾时,输入以下命令:

    send extract [name], status
  2. 停止数据泵提取。

  3. 添加并运行“分配路径”以替换“数据泵提取”处理。

    注:仔细查看数据泵提取与分配路径之间的限制和差异。如果您使用数据泵提取来查询或筛选数据,则必须将查询移至 TRANLOG 提取,并将筛选移至 TRANLOG 提取或复制。

迁移副本

对于要迁移的 Oracle GoldenGate 实例中的每个更改数据捕获复制,请执行以下步骤:

  1. 运行以下命令检查复制进程是否位于文件末尾:

    send replicat [name], status
  2. 复制进程到达文件末尾后,停止复制。确保它优雅地停止。如果它没有正常停止,则必须运行同步复制命令。

  3. 在 OCI GoldenGate 部署控制台中添加新的复制进程。确保它从 OCI GoldenGate 提取或数据泵提取生成的新线索文件中读取。尚未运行复制。

  4. 在 OCI GoldenGate 部署控制台中,将复制定位到从迁移提取的步骤 8 中获取的“提取”当前检查点检索到的 SCN,然后启动复制:

    start replicat [name], aftercsn <scn>

注:如果您有多个提取/复制对,请确保使用正确的对应 SCN。