首页 > 解决方案 > 将表从一个正在运行的提取进程移动到金门中的另一个提取

问题描述

目前的情况是当前有 2 个提取 - 泵 - 复制组正在运行。要求是将其中一个表从 group2 移动到 group1。

我们可以停止 extract-pump-replicat ,从 group2 中删除表条目并直接添加到 group1 吗?它会直接拿起并从 group2 结束的地方开始复制吗?

我尝试使用相同的设置进行模拟运行,并将表格从 group2 移动到 group1,它似乎工作正常。

想知道它是否是最好的方法,或者我是否需要处理任何其他细节。○

标签: oracleoracle12coracle-golden-gate

解决方案


是的,您可以采用这种方法。如果目标相同并且您不想错过任何事务 - 您必须确保在某个 SCN 之前的所有事务都由第一个提取处理,并且后续事务(跟随 SCN)由第二个处理处理。

有很多方法可以实现这一点:

  1. 停止源数据库上的活动
  2. 确保所有事务都由两个 Extract 进程处理,并且没有其他需要处理的内容。
  3. 停止两个提取
  4. 在数据提取之间移动表格
  5. 启动两个提取

如果您无法停止源数据库活动,另一种方法是:

  1. 停止提取 #2
  2. 在确保 Extract #1 的 SCN > Extract #2 的 SCN 之后,停止 Extract #1
  3. 在数据提取之间移动表格
  4. 请注意已从中删除表的第一个提取的 SCN
  5. 开始提取 #1
  6. 停止复制 #2
  7. 添加到第二个 Replicat 参数以从步骤 4 中读取的 SCN 中过滤此表的事务
  8. 开始复制 #2
  9. 开始提取 #2

推荐阅读