文档首页/ 数据复制服务 DRS/ 故障排除/ 失败案例/ PostgreSQL->PostgreSQL实时同步/ 增量同步失败报错,关键词“Table *** not found in target database”
更新时间:2024-11-29 GMT+08:00

增量同步失败报错,关键词“Table *** not found in target database”

场景描述

增量同步期间DRS任务报错,同步日志界面提示:service INCREMENT failed, cause by: Check table structure consistency fail!Table %s not found in target database

可能原因

  • 同步任务时没有选择同步DDL,源库的建表DDL未能同步至目标库。
  • 同步任务选择了同步DDL,但源库使用了DRS不支持同步的DDL语句创建了表。
  • 目标数据库删除了表。

解决方案

  • 方法一:重新创建任务,并在使用时遵循以下DRS使用规则:
    • 若选择同步DDL,请勿在源库执行DRS不支持的DDL。
    • 若不选择同步DDL时,请勿在源库执行DDL,或在源库执行DDL前,先在目标库执行相同的DDL。
    • 全量同步及增量同步期间,请勿在目标库执行写入操作,否则可能导致数据不一致或同步失败.
  • 方法二:采取以下办法,尝试恢复DRS任务:
    • 可能原因:同步任务没有选择同步DDL,源库的建表DDL未能同步至目标库。

      解决方案:按照源库的表结构,在目标库创建对应的表,然后重试DRS任务。

    • 可能原因:同步任务选择了同步DDL,但源库使用了DRS不支持同步的DDL语句创建了表。

      解决方案:按照源库的表结构,在目标库创建对应的表,然后重试DRS任务。

    • 可能原因:目标库删除了表。

      解决方案:按照被删除的表结构,在目标库重新创建对应的表,然后重试DRS任务。

      目标库删除表的同时,也删除了表中的数据,因此即使重新建表恢复任务,也可能导致该表数据不一致或任务再次失败。