Squids DBMotion 2304发版成功,再添重量级数据同步功能——支持Oracle迁移到GaussDB。
GaussDB是华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+的扩展能力,PB级海量存储。并拥有云上高可用、高可靠、高安全,弹性伸缩、一键部署、快速备份恢复、监控告警等关键能力,能为企业提供功能全面、稳定可靠、扩展性强、性能优越的企业级数据库服务。
新建任务
-
在源库和目标库配置中,Oracle需要填入IP、端口、service_name以及连接Oracle的用户名密码 和 ASM用户名密码。其中ASM用户名密码用于连接数据库获取redo日志;GaussDB需要填入IP、Port、数据库名称、用户名和密码。
-
迁移选项配置页面上,选择需要同步的表(T3)。DBMotion目前不支持对象迁移,仅支持全量和增量迁移,用户可以勾选需要执行的步骤,并选择冲突策略以及是否过滤DDL。
-
其他步骤跟同步其他种类数据库相似,配置确认和预检查没问题之后,就可以创建并运行任务了。
全量和增量同步
-
如下图所示,源库中原本有7笔数据。
-
全量迁移:任务开始运行以后,DBMotion会将Oracle的数据迁移到GaussDB上来,这里显示全部迁移成功了。注意:Oracle允许在字符串字段中任意位置包含ascii 0值,GaussDB则不允许有ascii 0值,DBMotion默认会将ascii 0转换为空格字符。
-
迁移后的目标库数据以及迁移到chr0_user1.t3的7笔数据如下图所示。
-
在源库上进行插入、更新操作。
-
查看增量状态,可以看到增量同步的进度和性能。这里增量采用的是o2k,是由沃趣科技自主研发的Oracle日志解析工具。
-
目标端可查看数据是否完成同步。
校验和其他功能
-
Oracle到GaussDB同步,支持对象校验,DBMotion会校验表和字段在目标端是否存在。
-
数据校验时,不仅会校验行数是否一致,同时也会校验字段值是否一致。此处,由于acsii0被转换为空格,出现两边数据不一致的情况,因此校验数据为不一致。
-
另外,在监控中可以查看全量和增量迁移时的性能指标。
版本更新内容汇总
本次版本更新包括如下内容:
-
支持 Oracle到GaussDB的全量迁移
-
支持常规类型和LOB类型的字段
-
支持Oracle GBK字符集到GaussDB UTF8字符集的转换
-
支持将ascii0映射到用户指定的字符串,高级配置中可设置替换字符串
-
支持schema和table名的映射
-
支持自动转换schman/table/column名,高级配置中可配置三种转换策略:
None: 不自动转换
Normal: 自动将Oracle的大写转换成GaussDB的小写,大小写混合名字不转换。
All: 自动将所有的名字转换成GaussDB的小写
-
支持按主键或唯一键分片(目前只支持数值列)
-
多分片并行迁移,分片内批量处理,提升迁移性能
-
支持Oracle到GaussDB的增量同步
-
支持常规类型和XMLTYPE字段
-
支持Oracle GBK字符集到GaussDB UTF8字符集的转换
-
支持schema/table名的映射
-
不支持大小写混合的字段名
-
支持同步无主键表
-
支持自动冲突处理(覆盖/忽略/失败)
-
支持并行解析源库日志和并行更新目标端,提供高性能、低延时的同步
-
支持基本的预检查功能
-
数据库配置检查
-
无主键的检查
-
权限检查
-
支持对象校验和数据校验
-
校验表是否存在
-
校验列名是否一致
-
校验常规类型的数据是否一致
-
不能校验LOB类型
-
不能校验含有乱码的字符值
-
其它变更
-
优化元数据库的初始化,加速启动速度,减少连接数
-
问题修复
-
修复了增量过程中创建的表不能被校验的问题
-
修复了MySQL到ClickHouse数据校验失败的问题
-
修复了数据校验失败时校验状态未更新的问题
-
修复了获取数据库列表时错误的分页数问题
丝滑的DBMotion,助您云上畅游。
SaaS产品,永久免费使用,赶紧用起来吧!