将复制切换到协调模式

对 Oracle GoldenGate 支持的所有数据库类型有效。

此过程将常规复制配置(非协调)升级为协调配置。此过程假定您使用使用一个提取和一个协调的复制的配置替换在多个提取和复制进程之间分区数据的配置。协调复制取代了使用多个复制进程的需要。协调复制仅需要一个线索,因此不需要多个提取处理。

过程概述

此过程将 EVENTACTIONS 参数与 STOP 操作结合使用,从而使所有复制进程可以在线索中的同一点停止。EVENTACTIONS 操作由包含虚拟表的 INSERT 的事务处理触发。INSERT 会使每个进程完成直到(包括)事件事务处理为止的所有处理,然后完全停止。为 Replicat 指定了其他事件操作 IGNORE,以防止多个 Replicat 进程尝试将同一记录插入到目标。此过程的结果是,所有进程在数据流中的同一点停止:完成到虚拟表的 INSERT 事务后。

进程停止后,将所有 TABLE 语句移动到一个主提取组。您可以将所有 MAP 语句移动到一个新的协调复制组,该组将读取与保留的提取关联的线索。在所有 MAP 语句都位于一个参数文件中之后,可以对其进行编辑以添加线程规范以支持协调复制。(可以提前完成)。然后删除复制组,并以相同名称的协调模式将其重新添加。

执行切换到协调复制

注:在按这些说明进行提示之前,请勿创建复制组。

  1. 备份所有提取组和复制组的当前参数文件。您将编辑它们。

  2. 在 Oracle GoldenGate 目录外部创建工作目录。您将使用此目录创建和暂存参数文件的新版本。如果需要,可以在源系统和目标系统上创建工作目录。

  3. 在工作目录中,为协调复制创建参数文件。将 MAP 参数从所有复制组的活动参数文件复制到此参数文件,然后添加线程规范以及支持所需协调复制配置的任何其他参数

  4. 如果使用多个主提取组,请选择一个要保留的组,然后将当前参数文件的副本保存到工作目录。

  5. 将所有 TABLE 语句从其他提取组复制到要保留的主提取的新参数文件。

  6. 将所有 TABLE 语句从其他提取复制到保留的提取的复制参数文件。

  7. 在源数据库中,创建一个简单的虚拟表,在此表中可以执行简单的 INSERT 语句。对于此过程,将使用名称 schema.event。

  8. 在目标系统上创建相同的表,以避免需要其他配置参数。

  9. 编辑所有主组和数据泵提取组的活动参数文件(而非副本),以向每个组添加以下 EVENTACTIONS 参数。

TABLE schema.event, EVENTACTIONS(STOP);
  1. 编辑所有复制组的活动参数文件(而非副本),以向每个复制组添加以下 EVENTACTIONS 参数。
MAP schema.event, TARGET schema.event, EVENTACTIONS(IGNORE, STOP);
  1. 按以下顺序正常停止 Oracle GoldenGate 进程:

    • 停止所有复制进程。

    • 停止所有提取处理。

  2. 按以下顺序重新启动 Oracle GoldenGate 进程,以便 EVENTACTIONS 参数生效:

    • 启动所有提取处理。

    • 启动所有复制进程。

  3. 在源系统上,在 schema.event 表上发出包含一个 INSERT 语句的事务处理。确保提交事务处理。

  4. 在管理客户机中,为源系统上的所有主提取发出 STATUS 命令,并为目标系统上的所有复制进程发出相同的命令,直到这些命令显示所有进程均为 STOPPED。

STATUS EXTRACT *
STATUS REPLICAT *
  1. 使用工作目录中的新参数文件替换您保留的提取的活动参数文件。

  2. 删除不需要的提取及其参数文件。

  3. 使用 DBLOGIN USERIDALIAS 命令登录到目标数据库。

  4. 删除所有复制组及其活动参数文件。

  5. 将新的协调复制参数文件从工作目录复制或移动到 Oracle GoldenGate 目录。

  6. 在 Admin Client 中,发出 INFO EXTRACT 命令并记下它在线索中的写检查点位置。

INFO EXTRACT *extract_name*, DETAIL
  1. 使用以下参数添加新的协调复制组。
ADD REPLICAT *group*, EXTTRAIL *trail*, EXTSEQNO *sequence_number*, EXTRBA *rba*, COORDINATED MAXTHREADS *number*
Where:

- *group* is the name of the coordinated Replicat group. The name must match that of the new parameter file created for this group.

- `EXTTRAIL` *trail* is the name of the trail that the Extract writes to.

- `EXTSEQNO `*sequence_number* is the sequence number of the trail as shown in the write checkpoint returned by the `INFO EXTRACT` that you issued for the Extract.

- `EXTRBA `*rba* is the relative byte address in the trail as shown in the write checkpoint returned by `INFO EXTRACT`. Together, these position Replicat to resume processing at the correct point in the trial.

- `MAXTHREADS` number specifies the maximum number of threads allowed for this group. This value should be appropriate for the number of threads that are specified in the parameter file.
  1. 启动主要提取组。

  2. 启动协调的复制组。