#Release Notes

# 版本信息

版本号:23.4.1

发版日期:2025年5月7号

版本升级:v23.2.1.2及之后版本,可以直接升级到本版本

# 版本定位

崖山迁移平台(Yashan Migration Platform,YMP)是为崖山数据库配套提供的数据迁移产品。v23.4版本全面支持Mysql与YashanDB之间的实时同步能力,能覆盖大部分的主流场景,支持对接Prometheus和Grafana。全面提升离线数据迁移可用性,丰富数据源端,提升产品易用性,实现低门槛、低成本、高效率的异构数据库迁移实施。增强对PostgreSQL、Oracle等数据源的支持,提升迁移稳定性与灵活性,并提供更精细化的校验能力,助力用户实现高效、精准的数据迁移。

# 特性更新

# 新增Mysql数据源

YMP V23.4新增了Mysql数据源类型,支持Mysql数据源做为源端和目标端增量同步场景,具备以下能力:

  • 支持元数据同步,包括表、主键等。
  • 支持全量和增量数据同步,包括基础数据类型以及LOB数据类型的同步。增量同步时支持断点续传,提升同步可用性。
  • 支持增量DDL同步,包括CREATE TABLE、RENAME TABLE、DROP TABLE、TRUNCATE TABLE等。
  • 支持对接开源监控平台Prometheus,用户在同步过程中可以实时关注性能指标,及时掌握同步链路信息。

# 新增PostGreSQL数据源

YMP V23.4支持PostGreSQL做源端离线迁移到YashanDB场景,具备以下能力:

  • 支持元数据评估和迁移,包括表,视图,索引,序列,约束等。
  • 支持全量数据迁移,包括数值类型、字符类型、日期和时间、GIS数据类型等。
  • 支持统计校验、全量数据内容校验,在迁移任务结束后,检查源端、目标端数据是否一致。

# 迁移兼容性提高

YMP V23.4在Oracle和YashanDB作为源端时,针对离线迁移场景完成了以下优化:

  • Oracle作为源端:
    • 支持对Oracle 9i版本的兼容能力,支持元数据评估、数据迁移、校验全流程能力。
    • 全量校验时针对Oracle时间数据类型,支持用户自定义配置校验精度,灵活度更高。
    • 支持迁移Oracle的PL/SQL中包含语句的存储过程。
    • 支持自动过滤不支持的高级包授权语句,提高迁移兼容度。
    • 支持评估时过滤创建全文索引(TEXT)生成的表,提高迁移兼容度。
    • 支持迁移公共同义词。
  • YashanDB作为源端:
    • 支持迁移GIS、BIT数据类型。
    • 支持迁移RTREE索引。
    • 支持在迁移过程中对schema进行映射,满足迁移过程中库表合并场景。
    • 支持数据不落盘迁移,提高迁移性能。

# 评估能力增强

  • 支持对评估任务进行暂停、恢复以及终止操作,并且支持查看每个对象的评估进度。解决评估任务报错场景下没有进展和报告的问题。
  • 支持在评估完成后,用户手动修复对象的不兼容DDL,兼容率和评估报告自动刷新,无需用户重新评估,提高评估效率。
  • 优化同一任务下评估库和目标库的冲突检测机制,支持用户在同一任务下选择相同的数据库做评估和迁移场景。
  • 支持对对象的DDL内容进行刷新,解决在评估过程中用户产生新的DDL场景下评估耗时过长的问题。

# 数据校验能力

  • 校验配置支持用户在页面自定义配置,包括性能配置,零值校验配置,空值校验配置等。
  • 支持条件校验,用户可以对源端和目标端数据库分别编写where条件表达式,平台会根据筛选满足条件的表数据,进行数据校验。该功能可用于增量数据校验场景,用户无需每次都发起全量校验,提升校验速率。
  • 支持用户设置校验策略,定时的周期性的自动发起校验任务,并且生成校验报告。

# 易用性改进

  • 支持查看每张表的迁移耗时,帮助用户针对性的做迁移性能优化。
  • 新增英文语言,满足平台海外使用场景。
  • 支持在目标端对迁移后的用户授予CONNECT和RESOURCE角色,解决迁移用户权限不足问题。

# 支持迁移的产品与版本

能力模块 数据源 数据源版本 数据源部署形态 目标端 目标端版本
离线迁移 Oracle 9i,11g,12c,19c,21c 单机主备、共享集群 YashanDB(yashan模式) 22.2,23.2,23.3,23.4
Mysql 5.6,5.7,8.0 单机主备、集群 YashanDB(yashan模式+mysql模式) 22.2,23.2,23.3,23.4
DM 8.1 单机主备、集群 YashanDB(yashan模式) 22.2,23.2,23.3,23.4
YashanDB(yashan模式) 23.2.4版本及之后版本 单机主备 YashanDB(yashan模式) 23.2.4版本及之后版本
PostGreSQL 14.x,15.x 单机 YashanDB 23.2 ,23.3,23.4
实时同步 YashanDB 23.2.7, 23.3,23.4 单机、YAC Oracle 19c
YashanDB 23.3,23.4 单机、YAC YashanDB 23.3,23.4
YashanDB 23.3,23.4 单机、YAC Mysql 5.7
Mysql 5.7 单机主备、集群 YashanDB 23.3,23.4

# 版本配套关系

YashanDB迁移平台(v23.4)已适配YashanDB数据库v22.2、v23.1、v23.2、v23.3、v23.4版本,支持单机和共享集群产品形态。

# 版本约束

能力模块 约束描述
评估迁移 * 内置库或YMP故障场景下,重启后评估失败的任务不支持恢复评估。
* 添加Oracle 9i数据源时,连接用户密码不能超过8位。
* Oracle 9i做源评估时,评估范围会多展示部分系统用户且检查约束(包括非空约束)会丢失部分属性。
* PG目前由于数据库差异,分区表无法自动兼容。
* 所有源的Mybatis Mapper XML文件评估只支持评估DML类型SQL。
离线迁移 * 数据迁移支持的字符集为GBK和UTF-8(MySQL要求库、表、列、服务、系统、连接编码配置要一致),并要求源端数据库与目标数据库的字符集一致。
* 不支持表名带有单引号及不可读字符串的数据迁移。
* MySQL5.7做源时不支持迁移表情符号。
* PG的类型TEXT、BYTEA暂不支持分段获取,有OOM的风险。
实时同步 * 元数据阶段支持常量默认值,非常量默认值在元数据阶段仍会同步,但不做任何特殊处理。如果同步失败,则需要用户自行介入修正,并重新运行任务。
* 增量数据同步阶段的DDL仅支持常量、值为nullempty_clob()empty_blob()的默认值,其他类型的默认值将导致任务失败。
* YashanDB为源端时,元数据同步和全量数据同步阶段不允许对同步范围内的对象执行DDL,否则将导致同步失败。
数据校验 * 不支持不可读字符串及CLOB/NCLOB中带表情类符号数据的校验。
* mysql模式下不支持无符号数和有符号数之间的校验。
* Oracle做数据源时,全量校验不支持JSON及自定义类型。
* DM做数据源时,全量校验不支持IMAGE及自定义类型。

# 修复问题

  1. 修复评估时转换语句部分elseIf语句空格丢失,部分特殊参数丢失问题。
  2. 修复数据迁移时Oracle的LOB对象的empty_lob、MySQL大对象的空串迁移为null的问题。
  3. 修复删除评估任务时,评估数据库异常导致任务删除不成功问题。
  4. 修复Oracle做源评估时,包类型中包头有效包体失效时未展示为失效对象问题。
  5. 修复MySQL做源时字符集为utf4mb的char(n)、varchar(n)字符类型,迁移时字段长度映射太短,导致数据被截断问题。
  6. 修复Oracle往YashanDB迁移用户和权限时,不支持的高级包授权出错问题。
  7. 修复分区表超长DDL在评估前拆分DDL卡住问题。
  8. 修复OCI检查阻塞YMP部署的问题。
  9. 修复表的注释带换行符时评估失败问题。
  10. 修复YashanDB作源端时,特殊字符密码导致评估任务失败问题。
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流