单击左侧的服务列表图标,选择“数据库 > 数据复制服务 DRS”。 单击DRS实例名称。 单击“迁移对比”,选择“对象级对比”,单击“开始对比”,校验数据库对象是否缺失。 选择“数据级对比”,单击“创建对比任务”,查看迁移的数据库和表内容是否一致。
通过DRS迁移MySQL分库分表总流程 本实践的主要任务流如图1所示: 图1 操作流程 表1 迁移流程 序号 步骤 说明 1 迁移前构造数据 迁移前在源端数据库构造数据,供迁移后查看是否迁移成功。 2 目标端DDM准备 创建VPC和安全组:为创建实例准备网络资源。 创建DDM实例:
本地Microsoft SQL Server备份迁移至本云RDS for SQL Server实例 场景介绍 迁移准备 导出数据库备份文件 上传备份文件 场景一:全量备份迁移 场景二:全量+增量备份迁移 手动配置信息 父主题: 备份迁移
备份迁移场景的是否最后一个备份文件选择错误该如何处理 备份迁移过程中,根据选择“最后一个备份文件”来判断是否为最后一次备份,对于人工操作中不可控的误选择,有以下两种情况及处理方法: 选择“是”,但期望为否,即仍然希望继续做增量备份迁移。但由于SQL Server本身的设计,数据库一旦收到还原已完成的信号
图2 保存修改结果 返回数据复制服务的“迁移模式”页面,继续执行下一步操作即可。 父主题: 通用操作
源数据库实例是否为空 源数据库实例不存在任何数据库时,无法进行迁移。 不通过原因 源数据库连接失败,导致该项检查无法进行。 源数据库实例为空。 处理建议 确保源数据库连接成功后,重新进行预检查。 更换源数据库或者在源数据库创建对象,确保源数据不为空才能进行迁移。 父主题: 数据库参数检查
登录源数据库MySQL所在服务器。 执行以下命令,查看设置的Binlog保留时间。
time_zone的一致性检查 源数据库和目标数据库的time_zone参数不一致,可能会导致迁移失败。 不通过原因 源数据库和目标数据库的参数time_zone或system_time_zone不一致。 处理建议 修改源数据库或者目标数据库的time_zone(timezone)
目标库是否存在只读实例 MySQL迁移场景 表1 目标库是否存在只读实例 预检查项 目标库是否存在只读实例。 描述 检查增量迁移的场景下,目标数据库是否存在只读实例,若存在,可能会导致迁移失败。 不通过提示及处理建议 不通过原因:增量迁移场景下,不支持迁移数据库到已经创建只读实例的
登录MySQL源数据库所在服务器。 手动修改my.cnf配置文件,将binlog_row_image参数值修改为FULL后保存。 binlog_row_image=full 为防止继续生成非全镜像日志导致任务失败,需选择一个非业务时间段,重启源数据库即可。
源数据库分片键配置检查 MongoDB迁移场景 表1 源数据库分片键配置检查 预检查项 源数据库分片键配置检查。 描述 检查用户提供的目标数据库账号权限是否符合迁移要求,若权限不够,会导致迁移失败。 不通过提示及处理建议 待确认原因:源数据库是副本集,没有分片键配置。 处理建议:如果无法获取源数据库的分片键信息在目标库进行配置
目标库最大支持chunk数目检查 MongoDB迁移场景 表1 目标库最大支持chunk数目检查 预检查项 目标库最大支持chunk数目检查。 描述 检查目标数据库的最大chunk数目是否足以支撑源库数据的分片分裂,当chunk个数达到目标库的最大支撑数目时,chunk不再分裂,会影响写入性能
事务隔离级别一致性校验 MySQL迁移时,源数据库和目标数据库的事务隔离级别需要保持一致。 不通过原因 源数据库和目标数据库的事务隔离级别不一致。 处理建议 修改数据库隔离级别参数(tx_isolation或者transaction_isolation),使源库和目标库的事务隔离级别保持一致
目标库用户(schema)及表是否已存在 GaussDB->Oracle同步场景 表1 目标库用户(schema)及表是否已存在 预检查项 目标库用户(schema)及表是否已存在。 描述 GaussDB到Oracle的同步,需要预先在目标端创建对应的用户(schema)及表。 不通过提示及处理建议
目标库对象一致性检查 Oracle为源同步时,DRS会对目标库对象一致性检查进行检查。 不通过原因 对象名同步到目标库后会转换成小写,为避免同步失败,选择的源库表中不能存在名称字母相同但大小写不同的列。 已选择的表在目标库不存在,或与源库的表结构不一致。 目标库和源库的约束不一致,
目标库区域类型及排序规则检查 PostgreSQL->PostgreSQL同步场景 表1 目标库区域类型及排序规则检查 预检查项 目标库区域类型及排序规则检查。 描述 检查待同步数据库的lc_ctype或lc_collate在目标库是否支持。 待确认提示及处理建议 待确认原因:待同步数据库的
源库存在不支持的生成列检查 当源库存在生成列是主键或者唯一键的表时,DRS在同步表结构时不同步生成列结构,可能导致数据同步到目标库后与源库不一致。 不通过原因 源库存在生成列是主键或者唯一键的表。 处理建议 在目标库自建表结构,保证目标库的生成列的逻辑、约束与源库一致后,返回对象选择页面
全量迁移失败报错,关键词“Prematurely reached end of stream” 场景描述 MongoDB->DDS实时迁移场景,全量迁移报错,日志提示信息:service DATAMOVE failed, cause by: Prematurely reached
全量阶段失败报错,关键词“Java heap space” 场景描述 全量迁移或同步期间DRS任务报错,日志提示信息:service DATAMOVE failed, cause by: apply event=[type=table_data, batch_index_in_shard
全量阶段失败报错,关键词“Table *** already exists” 场景描述 全量迁移或同步期间DRS任务报错,日志提示信息:service DATAMOVE failed, cause by: apply event=[type=table_rename_or_copy