重复获取的选项
有效对象
复制
说明
使用 REPFETCHEDCOLOPTIONS 参数确定 Replicat 如何响应需要从源数据库进行提取的操作。当事务处理记录不包含足够的信息来构建 SQL 语句、使用 FETCHCOLS 子句或使用 FETCHOPTIONS MISSINGCOLS 时,提取处理将提取列数据。
有关详细信息,请参阅 " {FETCHCOLS | FETCHCOLSEXCEPT} (column_list) " 和 "MISSINGCOLS" 。在复制中测试 Oracle GoldenGate 转换时,使用此参数可帮助指示 Replicat 在线索中缺少值时执行什么操作,或报告有关如何获取该值的信息(如果不是直接从事务处理日志中获取)。
默认值
无
语法
REPFETCHEDCOLOPTIONS
[, INCONSISTENTROW ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, LATESTROWVERSION ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, MISSINGROW ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, NOFETCH ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, REDUNDANTROW ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, SNAPSHOTROW ALLOW|IGNORE|REPORT|DISCARD|ABEND]
[, SETIFMISSING <string>]
INCONSISTENTROW
确定行 ID 成功提取列数据但关键字不匹配时要执行的操作。已回收行 ID,或者在此操作之后(以及提取之前)发生了主键更新。有效值为
ALLOW
除非记录长度为零 (0),否则处理工序。
IGNORE
忽略该条件并继续处理。
REPORT
将记录写入放弃文件并处理操作。
DISCARD
放弃数据,不处理该行。
ABEND
放弃数据并退出处理。
LATESTROWVERSION <action>
从表中的当前行提取列数据时提供响应。有效值如下:
ALLOW
除非记录长度为零 (0),否则处理工序。
IGNORE
忽略该条件并继续处理。
REPORT
将记录写入放弃文件并处理操作。
DISCARD
放弃数据,不处理该行。
ABEND
放弃数据并退出处理。
NOFETCH <action>
禁止提取。此选项的一个用途是数据库为备用数据库且 Oracle GoldenGate 没有数据库连接。在这种情况下,尝试从数据库提取将导致错误。其他情况也可能需要使用此参数。
当 Oracle GoldenGate 无法提取通常会提取的数据时,它可能会导致目标上出现数据完整性问题。
以下是遇到 NOFETCH 时可以采取的有效操作:
ABEND
将该操作写入放弃文件并异常终止复制进程。这是默认设置。
ALLOW
除非记录长度为零 (0),否则处理工序。
IGNORE
忽略操作。如果在进程报告中报告提取统计信息(基于 STATOPTIONS 设置),则将使用此结果更新提取统计信息。
REPORT
将记录写入放弃文件并处理操作。
DISCARD
将记录写入放弃文件,但不处理该操作。如果在进程报告中报告提取统计信息(基于 STATOPTIONS 设置),则将使用此结果更新提取统计信息。
MISSINGROW <action>
仅当行的一部分(更改的值)可供复制进行处理时,提供响应。线索中缺少的一个列数据通常无法提取,因为该行已在创建更改记录的时间和触发提取时间之间删除,或所需行映像早于指定的还原保留期。
有效值如下:
ALLOW
处理工序,除非记录长度为零 (0)。
IGNORE
忽略该条件并继续处理。
REPORT
将记录写入放弃文件并处理操作。
DISCARD
放弃数据,不处理部分行。
ABEND
放弃数据并退出处理。
REDUNDANTROW
指示由于以前为此记录提取了列数据,因此不提取列的数据。
SETIFMISSING [<string>]
提取不成功 (线索记录中缺少某个值) 但目标列具有非空约束条件时提供该值。它将可选的 ASCII 字符串作为 CHAR 和 BINARY 数据类型的值,或者默认为以下值。
CHAR, VARCHAR:单个空间
BINARY, VARBINARY:NULL 字节
TIMESTAMP:当前日期/时间
FLOAT, INTEGER:零
除了 SETIFMISSING,还可以使用 MAP 语句的 COLMAP 子句为目标列映射值。有关更多信息,请参见 "COLMAP (column_mapping) "。
SNAPSHOTROW
指示列数据提取自快照。通常,此选项仅用于报告或放弃操作。有效值如下:
ALLOW
除非记录长度为零 (0),否则处理工序。
IGNORE
忽略该条件并继续处理。
REPORT
将记录写入放弃文件并处理操作。
DISCARD
放弃数据,不处理该行。
ABEND
放弃数据并退出处理。