检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
cnf或my.ini配置文件。 binlog_format=row 在row模式下,日志增长速率会变大,注意磁盘使用情况。 如果源数据库为云上RDS for MySQL实例,请使用修改实例参数功能,将源数据库参数binlog_format修改为row,重启数据库后生效。 父主题:
备份迁移失败,提示备份的源数据库不在备份文件列表中 操作场景 客户通过OBS桶全量备份数据迁移上云时,提示备份的源数据库不在备份文件列表中,导致迁移失败。 图1 备份迁移 问题分析 用户上传到OBS桶中的.bak数据库备份文件名较长。 解决方案 针对以上问题,提供如下解决方案:
全量阶段失败报错,关键词“Unknown database ***” 场景描述 全量迁移或同步期间DRS任务报错,日志提示信息:service DATAMOVE failed, cause by: retry structures failed events=the fail structures
增量阶段失败报错,关键词“Table *** not found in database” 场景描述 增量迁移或同步期间DRS任务报错,日志提示信息:service INCREMENT failed, cause by: Table %s not found in database
增量同步失败报错,关键词“Failed to construct kafka producer. ” 场景描述 Oracle->Kafka同步任务增量阶段报错,同步日志界面提示:service INCREMENT failed, cause by: Failed to construct
增量同步失败报错,关键词“Topic *** not present in metadata after 300000 ms” 场景描述 Oracle->Kafka同步任务增量阶段报错,同步日志界面提示: service INCREMENT failed, cause by: Topic
源数据库集合索引个数检查 MongoDB迁移时,索引的个数会影响整个迁移的时间。DRS会检查源数据库是否存在索引个数大于10的集合,如果存在会影响迁移速度,请确认是否有必要迁移所有的索引。 待确认原因 源数据库存在索引个数大于10的集合,这些集合迁移会比较慢。 处理建议 索引的个
源库是否具有补充日志级别权限 Oracle为源增量同步时,DRS会检查源数据库是否具有补充日志级别权限。Oracle源库未开启库级补充日志或级别不满足要求,会导致同步失败。 不通过原因 Oracle源库补充日志级别不满足。 处理建议 源库中,执行以下操作中的任意一项: 开启库级ALL级别的补充日志:alter
源数据库集合TTL索引检查 MongoDB迁移时,TTL索引会因为源数据库和目标库数据的时区、时钟不一致导致迁移后数据不一致。DRS会检查源数据库是否存在TTL索引的集合,如果存在,需要删除TTL索引或者不迁移存在TTL索引的集合。 待确认原因 待迁对象存在TTL索引,会因为源数
源数据库是否处于备机状态 PostgreSQL为源的全量+增量实时同步任务,源库不可以为备机,否则,无法进行增量同步。全量实时同步任务,源库可以为备机,但是参数“hot_standby_feedback”必须为on,否则可能导致同步失败。 不通过原因 全量+增量实时同步任务,源库为备机,无法进行增量同步。
设置的密码不符合目标库的密码复杂度要求时,如何修改密码强度 操作场景 用户在设置迁移用户密码时,设置的密码不符合目标库的密码复杂度要求,需要按照用户密码复杂度的要求进行密码设置。 操作步骤 以下操作适用于目标数据库为RDS实例的情况。 登录关系型数据库服务控制台。 选择指定目标数据库实例。
增量阶段失败报错,关键词“Unknown storage engine” 场景描述 增量迁移或同步期间DRS任务报错,日志提示信息:service INCREMENT failed, cause by: Unknown storage engine 'FEDERATED'; sql
源库表结构是否存在虚拟列 Oracle为源同步时,DRS会检查源库表结构是否存在虚拟列。 不通过原因 源库存在虚拟列,目前不具备虚拟列数据同步能力,会导致同步数据不完整。 处理建议 在预检查结束之后、启动任务之前,在目标库创建存在虚拟列的表结构。 父主题: 数据库参数检查
表结构一致性检查 DRS在选择仅同步数据时,会对用户源端和目标端的表结构一致性进行检查。 不通过原因 目标端表的字段未涵盖源端表的所有字段。 列名的大小写问题,源和目标端是不同数据库的情况下,源端表列名会转成小写和目标端比较。 列名中包含空格或者特殊字符等。 处理建议 返回设置同
全量阶段失败报错,关键词“Table *** doesn't exist” 场景描述 全量迁移或同步期间DRS任务报错,日志提示信息:service DATAMOVE failed, cause by: Table '***' doesn't exist。 可能原因 全量阶段期间,源端数据库执行删除表DDL语句。
全量阶段失败报错,关键词“read table=*** failed” 场景描述 全量迁移或同步期间DRS任务报错,日志提示信息:service DATAMOVE failed, cause by: read table=`%s`.`%s` failed。 可能原因 源库性能不足或网络不稳定导致从源库读取表数据失败。
增量阶段失败报错,关键词“Lock wait timeout exceeded” 场景描述 增量迁移或同步期间DRS任务报错,日志提示信息:service INCREMENT failed, cause by: Lock wait timeout exceeded; try restarting
源数据库选择对象预检查 检查源数据库选择的对象是否符合迁移或者同步要求。 不通过原因 源数据库不存在要同步的对象。 源数据库暂时不可用。 Oralce为源的任务,所选表的schema名、表名及其包含的列名超过了30个字符。 Microsoft SQL Server为源的任务,单个任务同步的表超过了1000张。
目标数据库实例状态是否正常 DRS在预检查阶段,会对提供的目标数据库实例状态进行检查。 不通过原因 目标数据库实例状态异常,实例不可用。 目标数据库为只读实例。 处理建议 目标数据库状态异常,DRS无法访问,等待数据库实例状态正常后,重新进行预检查。 目标数据库为只读实例,不允许
全量同步失败报错,关键词“invalid locale name” 场景描述 全量同步期间DRS任务报错,同步日志界面提示:service DATAMOVE failed, cause by: target engine postgresql client initialize failed