db2 IBM CDC表应已刷新,转换服务器将终止

0g0grzrc  于 2022-11-07  发布在  DB2
关注(0)|答案(2)|浏览(191)

我有一个源和目标都是IBM DB2 iSeries的表,复制方法是Mirror,在镜像前刷新后,出现消息Table <lib>/<table> should already have been refreshed. Transformation Server will terminate.,表的状态保持为Refresh,同一订阅中的其他表都正常运行,详细日志如下:

来源

1.表 * 库/表 *,成员 * 表 * 将被刷新为 * 订阅 *。
1.表 * 库/表 *,成员 * 表 * 刷新到 * 订阅 * 完成200000行发送。
1.无法刷新表 * 库/表 * 成员 * 表 *。
1.表 lib/table 应该已经刷新。转换服务器将终止。

目的

1.仅为目标表 * 库/表 *,成员 * 启动刷新。
1.从表 lib/table 的成员 *FIRST中删除了220310行。
1.仅对表 *lib/表 *,成员 * 完成刷新。收到200000行,成功应用199500行,500行失败。
对于这种情况,有没有人有什么想法?

sdnqo3pr

sdnqo3pr1#

CDC iSeries将尝试获取一个非常短的独占锁(允许读取)以确保在刷新开始时没有涉及表的未提交的提交周期。如果它不能获得锁,则它跳过刷新,移动到下一个表,发布您报告的消息。因此,您需要在表上的活动较少时运行表刷新如果源应用程序在提交控制下更新表,则需要该锁来确保一致性,因为否则日志抓取器将忽略属于在刷新本身开始之前开始的提交周期的任何事务。如果源应用程序根本没有使用提交控制,并且iSeries是唯一的源,则可以让目标忽略提交控制。要关闭基于Java的目标的提交控制,请添加目标系统参数mirror_commit_on_transaction_boundary,并将其设置为false,如果目标是iSeries,则将目标承诺控制参数更改为 *NONE。如果在目标上进行此更改,请确保根本不使用提交控制,否则,如果在表刷新的同时回退更改,则可能会出现一些麻烦的同步问题

beq87vna

beq87vna2#

查看作业日志可能会更清楚地了解导致此行为的原因,因为有很多原因都可能发生此行为。可以尝试的一种方法是,在管理控制台中选择Map表
1.把table放好
1.将其标记为“刷新”并启动订阅,它将刷新表并进入“活动”状态。
谢谢

相关问题