RESTART REPLICAT

使用 RESTART REPLICAT 可以先停止然后启动复制组。要确认复制是否已启动,请使用 INFO REPLICAT 或 STATUS REPLICAT 命令。

正常起点

复制可以从正常起点(初始或当前检查点)开始,也可以从线索文件中用户指定的替代位置开始。

不带任何选项的 RESTART REPLICAT 会导致复制程序从下列点之一开始处理,以保持数据完整性:

替代起点

START REPLICAT 的 SKIPTRANSACTION、ATCSN 和 AFTERCSN 选项使复制作为整体或某个协调复制的特定线程在线充中正常起点以外的某个事务处理处开始进行处理。使用这些选项可以:

语法

RESTART REPLICAT group_name_wildcard
[SKIPTRANSACTION | {ATCSN csn | AFTERCSN csn}]
[FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS]
[THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...]])]

group_name_wildcard

复制组的名称,也可使用通配符 (*) 指定多个组。例如,T* 启动名称以 T 开头的所有复制组。

SKIPTRANSACTION

使复制跳过其在线索中预期启动位置后面的第一个事务处理。来自这第一个事务处理的所有操作都会被排除。

如果还对此复制使用 MAXTRANSOPS 参数,进程可能会从某个事务处理中间的某个位置开始读取线索文件。在这种情况下,将跳过该部分事务处理的剩余部分,复制将从文件中的下一个起始事务处理记录继续进行正常处理。如果使用 DISCARDFILE 参数,跳过的记录将写入放弃文件;否则,将向报告文件写入类似以下消息的消息:

User requested START SKIPTRANSACTION. The current transaction will be skipped. Transaction ID txid, position Seqno seqno, RBA rba

仅在复制读取的线索是联机更改同步配置(包含检查点)的一部分时有效 SKIPTRANSACTION。对任务类型初始加载(即 SPECIALRUN 与 ADD REPLICAT 结合使用)无效。

ATCSN csn AFTERCSN csn

在特定 CSN 处设置用户定义的起点。使用 ATCSN 或 AFTERCSN 时,将向报告文件写入类似以下消息之一的消息:

User requested start at commit sequence number (CSN) csn-string
User requested start after commit sequence number (CSN) csn-string

关于这些选项的一般信息:

FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS

使复制忽略已处理的事务处理。在以下情况下使用:提取已重定位到新的起点(请参见 START EXTRACT 的 ATCSN 或 AFTERCSN 选项),并且您确信线索中存在可能导致复制异常终止的重复事务处理。此选项需要使用检查点表。如果数据库为 Oracle,则此选项仅对非集成模式下的复制有效。如果在集成模式下且自动重新生成目标线索文件,则集成模式会以透明方式处理重复的事务处理。默认值为 FILTERDUPTRANSACTIONS。

THREADS thread_list

在复制处于协调模式下时,对 SKIPTRANSACTION、ATCSN 和 AFTERCSN 有效。对不带这些选项的 RESTART REPLICAT 无效。在指定位置处启动指定的一个或多个复制线程。

thread_list

逗号分隔的范围列表,采用 threadIDlow-threadIDhigh, threadIDlow-threadIDhigh 格式。

!

(感叹号)立即重新启动复制。事务处理将停止。

示例


RESTART REPLICAT finance

以下示例在特定的 CSN 处开始复制。

RESTART REPLICAT finance, ATCSN 6488359

以下命令在启动复制时,使协调复制的线程 4 和 5 跳过其最后一个检查点后面的第一个事务处理。如果有一个 10 线程协调复制,线程 0-3 和 6-10 全都将在正常起点(即它们的最后一个检查点)处启动。

RESTART REPLICAT fin SKIPTRANSACTION THREADS (4-5)

以下示例使协调复制的线程 1-3 在 CSN 6488359 处启动,线程 9-10 在 CSN 6488360 后面启动,线程 7 和 8 跳过其最后一个检查点后面的第一个事务处理。

RESTART REPLICAT fin ATCSN 6488359 THREADS (1-3), AFTERCSN 6488360 THREADS (9-10), SKIPTRANSACTION THREADS (7,8)