检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
源库集合复合哈希索引检查 MongoDB->DDS迁移、同步场景 表1 源库集合复合哈希索引检查 预检查项 源库集合复合哈希索引检查。 描述 源库存在复合哈希索引的集合。 不通过提示及处理建议 不通过原因:已选集合的包含复合哈希索引。
备份迁移基本原理 图3 备份迁移原理 备份迁移实现SQLServer数据库的离线迁移功能。
索引名是否支持 校验同步对象的索引名称是否符合规范,索引名规则: 不支持大写字母 不能包括 , /, *, ?, ", <, >, |, 空格, 逗号, # 支持使用冒号: 不能以这些字符-, _, + 开头 不能包括 .
处理建议:不同步索引,或者删除部分索引,使得源库单个表的索引数不超过64个。 删除索引语句参考: DROP INDEX index_name; 不通过原因:源库存在超过目标库索引列长度限制的索引。 处理建议:在对象选择中去除该表或者修改索引长度。
如果是联合索引,则每个字段长度均不能超过表1中的“单字段索引最大字符数”,且所有字段长度合计不应超过“联合索引合计最大字符数”。
源数据库索引长度检查 Oracle->MySQL、Oracle->GaussDB(for MySQL)迁移、同步场景 表1 源数据库索引长度检查 预检查项 源数据库存在超过目标库索引列长度限制的索引。 描述 源数据库存在超过目标库索引列长度限制的索引,则导致迁移失败。
源数据库索引(_id)检查 MongoDB迁移场景 表1 源数据库索引(_id)检查 预检查项 源数据库索引(_id)检查。 描述 检查源库是否存在没有索引(_id)的集合,若存在,则导致迁移失败。 待确认提示及处理建议 不通过原因:源数据库存在没有索引(_id)的集合。
处理建议 索引的个数会影响整个迁移的时间,请慎重考虑是否有必要迁移所有的索引。如果不是必须迁移的索引,可以删除该索引后再启动迁移。 删除索引的命令请参考如下命令: db.集合名.dropIndex(索引名) 父主题: 数据库参数检查
源数据库集合TTL索引检查 MongoDB迁移时,TTL索引会因为源数据库和目标库数据的时区、时钟不一致导致迁移后数据不一致。DRS会检查源数据库是否存在TTL索引的集合,如果存在,需要删除TTL索引或者不迁移存在TTL索引的集合。
源库迁移的索引列数量检查 DB2 for LUW->GaussDB同步场景 表1 源库迁移的索引列数量检查 预检查项 源库迁移的索引列数量检查。 描述 源库迁移的索引列数量不能超过32列。
UGO结构迁移阶段2:普通索引 选择UGO结构迁移阶段1:表、主键、唯一键/索引等的UGO任务,在对象校正界面,选择要迁移的索引(也可以单击左侧的对象树进行筛选),单击“撤销跳过”,所选索引的迁移状态变为“手工修改”。 单击“下一步”进入迁移验证页面,单击“启动”开始迁移索引。
源数据库是否存在被禁用的聚集索引 源数据库中不允许存在被禁用的聚集索引,如果存在可能会导致迁移失败。 不通过原因 源数据库中存在被禁用的聚集索引。
UGO结构迁移阶段1:表、主键、唯一键/索引等 选择创建对象迁移任务的UGO任务,在对象迁移页面,单击待迁移项目的“操作 > 迁移”。 在转换计划页面,显示待迁移项目采集对象及分类。 单击“下一步”,进入转换配置页面,单击每一项的“编辑”按钮可对该项进行转换配置。
模式名或表名映射时,为防止索引和约束名冲突,同步后表上的原索引名称将变为此格式:i_+哈希值+原索引名(可能被截断)+_key。其中哈希值由“原模式名_原表名_原索引名”计算得到。同理,表上的原约束名将变为:c_+哈希值+原约束名(可能被截断)+_key。
源库Oracle与目标库中间件表结构(包括列数,主键索引)是否对齐 Oracle->DDM同步场景 表1 源库Oracle与目标库中间件表结构(包括列数,主键索引)是否对齐 预检查项 源库Oracle与目标库中间件表结构(包括列数,主键索引)是否对齐。
源库集合复合哈希分片键检查 MongoDB->DDS迁移、同步场景 表1 源库集合复合哈希分片键检查 预检查项 源库集合复合哈希分片键检查。 描述 源库存在复合哈希分片键的集合。 不通过提示及处理建议 不通过原因:已选集合存在复合哈希分片键.
源端表结构是否存在换行 源端的库、表、列、索引、约束对象中含有换行符,可能导致业务使用出现问题。 不通过原因 源端的库、表、列、索引、约束对象中含有换行符。 处理建议 源端的库、表、列、索引、约束对象中含有换行符,可能导致业务使用出现问题。
如果集合已经包含数据,则需要先使用如下命令对需要创建的基于哈希的分片键先创建哈希索引: db.collection.createIndex() 然后再使用如下命令创建基于哈希的分片键: sh.shardCollection() 父主题: 通用操作
DRS全量、增量底层实现原理可参考产品架构和功能原理。 “全量+增量”: 该模式为数据持续性实时同步,通过全量过程完成目标端数据库的初始化后,增量同步阶段通过解析日志等技术,将源端和目标端数据保持数据持续一致。
迁移原理 本次实践中UGO负责异构数据库结构对象迁移,DRS仅同步数据,原理如下: 使用UGO先完成基本对象的同步。 DRS进行全量同步,进入增量阶段后暂停任务。 UGO进行普通索引同步。 DRS恢复增量同步,追平数据后源端断开业务进行数据对比,确保数据一致,停止DRS任务。