检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
增量同步失败报错,关键词“write table *** failed: null” 场景描述 增量同步期间DRS任务报错,同步日志界面提示:service INCREMENT failed cause by: write table *** failed: null 可能原因
查询是否支持对象选择和列映射 功能介绍 查询任务支持的对象选择类型、列映射、支持搜索的对象类型等信息。 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 URI GET /v5
源库对象名长度检查 目标库对象名有长度限制,当源库存在超过目标库长度限制的对象名,可能会导致同步失败。 不通过原因 源库存在超过目标库长度限制的对象名。 处理建议 方法一:单击“上一步”,返回至对象选择页面,在同步对象中去除该对象。 方法二:如果对象是表,建议使用对象名映射功能,映射成符合条件的表名。
源库用户属于Oracle Oracle为源增量同步时,DRS会对源数据库账号进行检查。 不通过原因 源库账号属于Oracle,而非用户本身,无法进行增量同步。 处理建议 使用用户本身的账号,不要使用Oracle自有的账号。 父主题: 数据库参数检查
数据库兼容类型检查 目标数据库兼容类型检查。当数据库类型不兼容时,可能会导致数据乱码或者同步失败。 不通过原因 MySQL->GaussDB(DWS)同步场景,无主键表、空字符串迁移不支持DWS的ORA兼容模式。 MySQL->GaussDB同步场景,目标数据库不兼容MySQL。
提交查询数据库对象信息 功能介绍 提交查询数据库对象信息。例如: 当type取值为source时,查询源库库表信息。 当源库库表信息有变化时,type取值为source,is_refresh取值为true。 当已同步到目标库的库表信息过大,需要提前将数据加载到缓存中时,type取值为synchronized。
源库是否为TaurusDB备库 源数据库为TaurusDB备库时,不存在Binlog日志,会导致任务增量迁移失败。 不通过原因 源数据库为只读备库,不存在binlog日志。 处理建议 建议更换源数据库,将TaurusDB实例主库作为源数据库后,重新进行预检查。 父主题: 数据库参数检查
源库补全日志级别检查 Oracle为源同步时,如果同步对象需要全列数据,源库需要打开全列补全日志。 不通过原因 同步对象需要全列数据,但是没有打开全列补全日志。 处理建议 打开全列补全日志。 参考如下命令: 库级:alter database add supplemental log
增量阶段失败报错,关键词“Unknown table” 场景描述 增量迁移或同步期间DRS任务报错,日志提示信息:service INCREMENT failed, cause by: Unknown table '%s'; sql is%s 可能原因 目标库不存在这张表。 解决方案
源数据库是否处于备机状态 PostgreSQL为源的全量+增量实时同步任务,源库不可以为备机,否则,无法进行增量同步。全量实时同步任务,源库可以为备机,但是参数“hot_standby_feedback”必须为on,否则可能导致同步失败。 不通过原因 全量+增量实时同步任务,源库为备机,无法进行增量同步。
源库表结构是否一致 多对一同步时,源库选择的多个对象表结构需要保持一致才能进行同步。 不通过原因 源库表结构不一致,无法进行多对一同步。 处理建议 修改源库需要多对一但结构不一致的表,使其结构一致。 父主题: 数据库参数检查
源库表结构是否存在虚拟列 Oracle为源同步时,DRS会检查源库表结构是否存在虚拟列。 不通过原因 源库存在虚拟列,目前不具备虚拟列数据同步能力,会导致同步数据不完整。 处理建议 在预检查结束之后、启动任务之前,在目标库创建存在虚拟列的表结构。 父主题: 数据库参数检查
增量阶段失败报错,关键词“Unknown storage engine” 场景描述 增量迁移或同步期间DRS任务报错,日志提示信息:service INCREMENT failed, cause by: Unknown storage engine 'FEDERATED'; sql
表结构一致性检查 DRS在选择仅同步数据时,会对用户源端和目标端的表结构一致性进行检查。 不通过原因 目标端表的字段未涵盖源端表的所有字段。 列名的大小写问题,源和目标端是不同数据库的情况下,源端表列名会转成小写和目标端比较。 列名中包含空格或者特殊字符等。 处理建议 返回设置同
设置的密码不符合目标库的密码复杂度要求时,如何修改密码强度 操作场景 用户在设置迁移用户密码时,设置的密码不符合目标库的密码复杂度要求,需要按照用户密码复杂度的要求进行密码设置。 操作步骤 以下操作适用于目标数据库为RDS实例的情况。 登录关系型数据库服务控制台。 选择指定目标数据库实例。
源数据库ExpireLogsDays参数检查 MySQL的同步和灾备场景,数据库expire_logs_days参数值为0,可能会导致任务失败。 不通过原因 源库参数expire_logs_days为0时,startup和flush logs等操作会触发binlog清理,从而导致任务失败。
目标数据库磁盘可用空间是否足够 DRS在迁移阶段,为了保证迁移性能和传输的稳定性,采用了行级并行的迁移方式。当源数据库数据紧凑情况下,通过DRS迁移后目标磁盘空间使用量会大于源数据库。DRS在预检查阶段会对目标数据库磁盘可用空间进行检查,若空间不足,可能会导致迁移失败。 不通过原因
解决方案 调整目标库空间。 如果为RDS for MySQL,可参考RDS性能调优中的内容,或联系RDS客服调整目标库空间。 如果为自建或其他云MySQL,请联系数据库运维工程师检查并调整目标数据库空间。 调整完成后,在任务列表中,单击任务对应操作列的“续传”,重新提交任务。 父主题:
增量阶段失败报错,关键词“Table *** already exists” 场景描述 增量迁移或同步期间DRS任务报错,日志提示信息:service INCREMENT failed, cause by: Table '%s' already exists 可能原因 在目标库已
全量同步失败报错,关键词“relation *** does not exist” 场景描述 全量同步期间DRS任务报错,同步日志界面提示:service DATAMOVE failed, cause by: ERROR: relation '%s' does not exist