START REPLICAT

使用 START REPLICAT 可以启动复制。要确认复制是否已启动,请使用 INFO REPLICAT 或 STATUS REPLICAT 命令。

针对 Oracle 目标数据库启动集成复制组时,START REPLICAT 会自动在目标数据库中注册复制。

协调复制只能作为整体进行启动。没有用于启动单个线程的选项。如果先前协调复制不是正常关闭的,则各线程可能在线索文件中的不同位置处停止。发生这种情况时,如果自上一次运行后更改了参数文件,START REPLICAT 会写入警告,如果线程数发生了变化,则会引发错误。

正常起点

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

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

替代起点

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

语法

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

group_name

复制组的名称,也可使用通配符 (*) 指定多个组。例如,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 选项),并且您确信线索中存在可能会导致复制异常终止的重复事务处理时使用。此选项需要使用检查点表。默认值为 FILTERDUPTRANSACTIONS。但是,如果使用 NOFILTERDUPTRANSACTIONS,则集成复制默认设置被覆盖,并会导致其不筛选重复项。因此,它对经典复制和集成复制的影响相同。

THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...])

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

threadID[, threadID][, ...]

指定一个线程 ID,或以 threadID, threadID, threadID 格式指定逗号分隔的线程列表。

thread_range[, thread_range][, ...]

以 threadIDlow-threadIDhigh 形式指定线程范围,或以 threadIDlow-threadIDhigh,threadIDlow-threadIDhigh 格式指定的逗号分隔的范围列表。

允许组合这些格式,例如 threadID, threadID,threadIDlow-threadIDhigh。

示例


START REPLICAT reps

以下命令在 Oracle 特定的 CSN 处启动复制。

START REPLICAT reps, ATCSN 6488359

以下命令在具有指定 CSN 的事务处理后面 SQL Server 特定的 CSN 处启动复制。

START REPLICAT reps, AFTERCSN 0X000004D2:0000162E:0009

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

START REPLICAT reps SKIPTRANSACTION THREADS(4-5)

以下示例将导致协调复制的线程 1-3 从 CSN 6488359 开始。

START REPLICAT reps ATCSN 6488359 THREADS(1-3)