检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
迁移原理 本次实践中UGO负责异构数据库结构对象迁移,DRS仅同步数据,原理如下: 使用UGO先完成基本对象的同步。 DRS进行全量同步,进入增量阶段后暂停任务。 UGO进行普通索引同步。 DRS恢复增量同步,追平数据后源端断开业务进行数据对比,确保数据一致,停止DRS任务。
为防止索引和约束名冲突,DRS同步到目标表上的索引名称将变为此格式:哈希值+原索引名(可能被截断)+_key。其中哈希值由“原库名_原表名_原索引名”计算得到。同理,表上的原约束名将变为:哈希值+原约束名(可能被截断)+_key,或表名_原索引名。
SQL Server自身的工作原理是备份文件恢复到新的数据库后,非聚集索引表的索引信息将会失效需要立即重建。如果源数据库里存在大量非聚集索引表,备份迁移后请在目标库进行索引重建,以避免数据库未来使用中性能出现重大下降。
源库是否已开启复制功能 源库最大数据库序号是否小于目标库最大数据库序号 源库间隔分区表检查 源库用户属于Oracle 源库输入DN数量校验 目标库对象一致性检查 源端存在不支持的外键引用操作 所选表是否包含延迟约束 源迁移库无主键表检查 是否禁用了外键或者同步的表在目标库上是否有外键 源库集合复合哈希索引检查
可能原因 目标数据库的唯一索引或者主键与源数据库不一致,尤其是目标数据库唯一索引(主键)比源数据库对应唯一键的列少的情况下,在增量阶段,源数据库不同的两条数据写入时,目标数据库会因为唯一键冲突相互覆盖,导致目标库数据比源库数据少,数据发生不一致。
SQL Server自身的工作原理是备份文件恢复到新的数据库后,非聚集索引表的索引信息将会失效需要立即重建。如果源数据库里存在大量非聚集索引表,备份迁移后请在目标库进行索引重建,以避免数据库未来使用中性能出现重大下降。
Balancer的工作原理是:需要Balancer的数据块(Chunk)先复制到目标Shard,成功后再删除原Shard上的Chunk,来完成一次Chunk迁移,通过多次Chunk迁移来实现均衡。
模式名或表名映射时,为防止索引和约束名冲突,同步后表上的原索引名称将变为此格式:i_+哈希值+原索引名(可能被截断)+_key。其中哈希值由“原模式名_原表名_原索引名”计算得到。同理,表上的原约束名将变为:c_+哈希值+原约束名(可能被截断)+_key。
为防止索引和约束名冲突,在全量同步中,DRS同步到目标表上的索引名称将变为此格式:哈希值+原索引名(可能被截断)+_key。其中哈希值由"原库名_原表名_原索引名"计算得到。同理,表上的原约束名将变为:哈希值+原约束名(可能被截断)+_key。
用户需要在目标库根据源端逻辑库的表结构,自行在目标库创建对应的表结构及索引。更对约束限制可参考DRS使用须知。 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。
表名映射时,同步后表上的原索引名称变化为如下格式,其中哈希值由“原模式名_原表名_映射后模式名_映射后表名_原索引名”计算得到:i_+哈希值+原索引名(可能被截断)+_key。
实现原理 RDS跨Region容灾实现原理说明: 在两个数据中心独立部署RDS for MySQL实例,通过DRS服务将生产中心RDS for MySQL库中的数据同步到灾备中心RDS for MySQL库中,实现RDS for MySQL主实例和跨Region灾备实例之间的实时同步
不支持_id字段没有索引的集合。 不支持BinData()的第一个参数为2。 源库为4.4或更高版本副本集时,如果目标库低于5.0版本,不支持复合哈希索引,如果目标库为5.0版本则支持复合哈希索引。 全量和增量阶段都不支持时序集合。
用户需要在目标库根据源端逻辑库的表结构,自行在目标库创建对应的表结构及索引。未在目标库创建的对象,视为用户不选择这个对象进行迁移。更对约束限制可参考使用须知。 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。
模式名或表名映射时,为防止索引和约束名冲突,同步后表上的原索引名称将变为此格式:i_+哈希值+原索引名(可能被截断)+_key。其中哈希值由“原模式名_原表名_原索引名”计算得到。同理,同步后表上的原约束名将变为:c_+哈希值+原约束名(可能被截断)+_key。
- 复合哈希索引检查 源库为4.4版本集群时,不支持复合哈希索引,不支持复合哈希分片键。 源库为4.4版本副本集时,不支持复合哈希索引。 详见源库集合复合哈希索引检查。 复合哈希分片键检查 详见源库集合复合哈希分片键检查。
为防止索引和约束名冲突,DRS同步到目标表上的索引名称将变为此格式:哈希值+原索引名(可能被截断)+_key。其中哈希值由“原库名_原表名_原索引名”计算得到。同理,表上的原约束名将变为:哈希值+原约束名(可能被截断)+_key,或表名_原索引名。
USER; 比对内容:源端采用流式读取数据后再做哈希,目标库采用内置函数获取LOB数据哈希值,这种方式相对hash比对会减轻一些源库压力,但运行时间会久一些。
模式名或表名映射时,为防止索引和约束名冲突,同步后表上的原索引名称将变为此格式:i_+哈希值+原索引名(可能被截断)+_key。其中哈希值由“原模式名_原表名_原索引名”计算得到。同理,表上的原约束名将变为:c_+哈希值+原约束名(可能被截断)+_key。
DDM灾备的原理是源端和目标端DDM中的DN一一对应灾备,因此需要正确填写源端和目标端的DN的对应关系。关于DDM逻辑库和逻辑库下的DN实例说明可参考DDM产品文档。