SEND REPLICAT

使用 SEND REPLICAT 可以与正在启动或正在运行的复制进程通信。一旦复制准备好接受来自用户的命令,就将处理该请求。

语法

SEND REPLICAT group_name[threadID],
{
CACHEMGR {CACHESTATS | CACHEQUEUES | CACHEVMUSAGE} |
DEPENDENCYINFO [TXNCOUNT num] |
FORCESTOP |
GETLAG |
GETPARAMINFO [parameter_name] [FILE output_file] |
HANDLECOLLISIONS | NOHANDLECOLLISIONS [table_spec] |
INTEGRATEDPARAMS(parameter_specification) |
LOGEND |
REPORT [HANDLECOLLISIONS [table_spec]] |
RESUME |
STATUS |
STOP |
TRACE[2] [DDLINCLUDE | DDL[ONLY]] file_name |
TRACE[2] OFF |
TRACE OFF file_name |
TRACEINIT |
THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...])
}

group_name[threadID]

复制组的名称或者协调复制的特定线程的名称,例如 fin003。如果为特定线程发出此命令,则所使用的选项仅应用于该线程。或者,您可以发出带有 THREADS 选项的 SEND REPLICAT,而不在此命令中组合使用 threadID 和组名。如果复制未在运行,则会返回错误。

CACHEMGR {CACHESTATS | CACHEQUEUES | CACHEVMUSAGE}

返回有关 Oracle GoldenGate 内存高速缓存管理器的统计信息。CACHEMGR 只应在 Oracle 技术支持明确指导下使用。

CACHESTATS

返回文件高速缓存的统计信息。

CACHEQUEUES

仅返回空闲队列的统计信息。

CACHEVMUSAGE

返回虚拟内存使用量统计信息。

DEPENDENCYINFO [TXNCOUNT num]

从 PR 事务处理相关性图表中输出信息。它首先打印当前正在执行的事务处理组,然后打印依赖于其他某些事务处理的等待事务处理。TXNCOUNT 确定要打印的等待事务处理数。默认值为 10,最大值为 99。

FORCESTOP

强制复制停止并绕过通知。此命令将回滚任何处于活动状态的事务处理并立即停止该进程。此命令应用于整个复制,不能用于特定的复制线程。

GETLAG

显示复制与线索之间的实际滞后时间。滞后时间是复制进程处理最后一条记录的时间与线索中记录的时间戳之间的差值(以秒为单位)。结果与 LAG REPLICAT 相同。

GETPARAMINFO [parameter_name] [FILE output_file]

使用 GETPARAMINFO 可以查询正在运行的实例(包括提取、复制和管理器)的运行时参数值。您可以查询单个参数或所有参数,然后将输出发送到控制台或文本文件。

parameter_name

默认行为是显示使用的所有参数,即曾按应用程序、其他参数及其当前值查询的参数。如果指定特定参数,则输出将按相应名称进行筛选。

FILE output_file

输出重定向到的文本文件的名称。

HANDLECOLLISIONS NOHANDLECOLLISIONS [table_spec]

控制 HANDLECOLLISIONS 行为。您可以不使用此选项而在复制参数文件中指定 HANDLECOLLISIONS 或 NOHANDLECOLLISIONS 参数。请参阅 HANDLECOLLISIONS \| NOHANDLECOLLISIONS 中的 Parameters and Functions Reference for Oracle GoldenGate 。此命令可以通过 SEND REPLICAT group_name[threadID] 直接发给单个线程,您也可以使用 THREADS 选项通过协调程序线程发送此命令以影响多个线程。

HANDLECOLLISIONS

在源数据库处于活动状态的情况下执行初始数据加载时,使用 HANDLECOLLISIONS 可以启用自动错误处理。在完成初始加载且联机数据更改已应用到目标表之后,确保禁用 HANDLECOLLISIONS,或者通过从参数文件中删除参数:可以发出带有 NOHANDLECOLLISIONS 选项的 SEND REPLICAT 命令,或者从参数文件中删除该数据更改。注: `SEND' 返回的消息

                                            REPLICAT` with `HANDLECOLLISIONS`, when issued for a specific Replicat thread, shows that the command set `HANDLECOLLISIONS` for all `MAP` statements, not only the one handled by the specified thread. This is a known issue. The command actually affects only the `MAP` statement that includes the specified thread.
                                            {: .infoboxnote}

NOHANDLECOLLISIONS

此选项关闭 HANDLECOLLISIONS 参数但不将其从参数文件中删除。为了避免在下次启动复制时启用 HANDLECOLLISIONS,请将该参数从参数文件中删除。

table_spec

table_spec 将 HANDLECOLLISIONS 或 NOHANDLECOLLISIONS 限制为特定的目标表或一组用标准通配符 (*) 指定的目标表。

INTEGRATEDPARAMS(parameter_specification)

(Oracle) 支持集成复制。在集成模式下运行复制时,此选项将参数规范发送到数据库入站服务器。使用此命令一次只能发送一个参数规范。要发送多个参数更改,请发出多个 SEND REPLICAT 命令,如以下示例中所示。

SEND REPLICAT repe INTEGRATEDPARAMS (parallelism 4)
SEND REPLICAT repe INTEGRATEDPARAMS (max_sga_size 250)

为了保持处理的连续性,参数更改在事务处理边界处进行。

LOGEND

确认复制进程是否已处理数据源中的所有记录。

REPORT [HANDLECOLLISIONS [table_spec]]

向提取报告文件生成临时统计报告。显示的统计信息取决于 STATOPTIONS 参数与 RESETREPORTSTATS | NORESETREPORTSTATS 选项结合使用时的配置。请参见 STATOPTIONS 。

HANDLECOLLISIONS

显示已为其启用 HANDLECOLLISIONS 的表。

table spec

将输出限制为特定的目标表或一组用标准通配符 (*) 指定的目标表。

RESUME

恢复(激活)被 EVENTACTIONS SUSPEND 事件挂起的进程。进程从其之前的挂起点恢复正常处理。

STATUS

返回线索内的当前位置以及与当前事务处理有关的信息。字段输出为:

可能的处理状态消息为:

当使用 THREADS 或者针对特定线程发出命令时,可能的线程状态消息为:

可能的协调器线程状态消息为:

STOP

正常停止复制。此命令应用于整个复制,不能用于特定的复制线程。

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

仅为协调复制的指定线程发出命令。您可以使用此选项,也可以将 groupname 与 threadID 一起使用。如果没有其中的任一选项,则命令适用于所有处于活动状态的线程。

threadID[, threadID][, ...]

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

thread_range[, thread_range][, ...]

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

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

TRACE[2] [DDLINCLUDE DDL[ONLY]] file_name

打开和关闭跟踪。跟踪功能会将信息捕获到指定文件以发现处理瓶颈。还可以通过复制参数 TRACE 和 TRACE2 来启用跟踪。

如果复制处于协调模式,TRACE 与 THREADS 列表或范围结合使用,则会为当前处于活动状态的每个线程创建一个跟踪文件。每个文件名后面都附加与之关联的线程 ID。当发出 groupname 和 threadID 的 SEND REPLICAT 时(如 SEND REPLICAT fin003 TRACE …),或者用 THREADS 仅指定一个线程时,这种按线程 ID 标识跟踪文件的方法不适用。

如果跟踪发现重大处理瓶颈,请与 Oracle 技术支持联系以获得帮助。

TRACE

捕获分步处理信息。

TRACE2

标识代码段,而不是特定步骤。

DDLINCLUDE | DDLONLY

(仅限复制)启用 DDL 跟踪并指定如何在跟踪报告中包括 DDL 跟踪。

file_name

file_name 指定 Oracle GoldenGate 将跟踪信息记录到其中的文件的相对名称或全限定名称。如果跟踪已在进行中,则现有的跟踪文件将被关闭,并且跟踪将恢复到使用 file_name 指定的文件。例如:

SEND REPLICAT group_name TRACE file_name DDLINCLUDE

如果文件名后没有其他选项,则可以省略 FILE 关键字,例如:

SEND REPLICAT group_name TRACE DDLINCLUDE file_name

TRACE[2] OFF

关闭跟踪。

TRACE OFF file_name

仅对指定的跟踪文件关闭跟踪。此选项支持 EVENTACTIONS 功能。由于有多个 EVENTACTIONS 语句,可能会存在多个跟踪文件。

TRACEINIT

将跟踪统计信息重置回 0,然后重新开始累积统计信息。使用此选项可以跟踪处理操作的当前行为,而不是历史行为。

示例


SEND REPLICAT repe, HANDLECOLLISIONS

SEND REPLICAT repe, REPORT HANDLECOLLISIONS rep_*

SEND REPLICAT repe, GETLAG

SEND REPLICAT repe, INTEGRATEDPARAMS(parallelism 10)

以下示例将获取协调复制的线程 3 的滞后时间。

SEND REPLICAT repe, GETLAG

以下示例将仅针对协调复制的线程 1 启用跟踪。在本例中,仅跟踪一个线程,因此跟踪文件没有 threadID 扩展名。文件名为 trace.trc。

SEND REPLICAT repe, TRACE THREADS(1) FILE ./dirrpt/trace.trc

以下示例将针对协调复制的线程 1、2 和 3 启用跟踪。假设所有线程都处于活动状态,则跟踪会生成文件 trace001、trace002 和 trace003。

SEND REPLICAT repe TRACE THREADS(1-3) FILE ./dirrpt/trace.trc

以下示例将仅针对协调复制的线程 1 启用跟踪。由于此命令是在不使用 THREAD 子句的情况下直接针对线程 1 发出的,因此跟踪文件名为 trace(没有线程 ID 后缀)。

SEND REPLICAT repe TRACE FILE ./dirrpt/trace.trc