MAXTRANSOPS

有效对象

复制(在集成和并行复制模式下不支持)

说明

使用 MAXTRANSOPS 参数可将大型源事务处理拆分为目标系统上的较小事务处理。当目标数据库未配置为容纳大型事务处理时,可以使用此参数。例如,如果 Oracle 回退段在目标上不够大,无法再现执行一百万次删除的源事务处理,则可以指定 MAXTRANSOPS 10000,这会强制 Replicat 在每组 10,000 次删除后发出提交。

使用 MAXTRANSOPS 是更改源应用程序施加的事务边界,即使复制按正确的顺序应用操作也是如此。如果提取在该事务处理期间失败,这可能会导致错误。提取会将事务处理重写到线索末尾,而不是覆盖旧的事务处理。由于线索是连续的,因此 Replicat 将开始处理旧事务处理,并且在收到恢复标记和新事务处理时必须回滚该事务处理,然后开始应用新事务处理。如果 MAXTRANSOPS 导致 Replicat 将原始事务拆分为多个较小的事务,则 Replicat 可能只能回退未提交到目标的部分。Replicat 再次处理已提交的操作时,将导致重复行错误或缺少行错误,具体取决于 SQL 操作类型。最小值为 1。注:对复制异常终止错误进行故障排除时,Oracle 技术支持可能会请求将 GROUPTRANSOPS 设置为 1,将 MAXTRANSOPS 设置为 1。这只是用于故障排除目的的临时配置,不应在生产环境中永久使用,否则将导致数据完整性错误。

默认值

10,000,000

语法

MAXTRANSOPS <number>

<number>

要分成单个事务处理组的操作数。

示例

MAXTRANSOPS 10000