#v23.3
# v23.4.1.2
# 发布时间
2025年04月23号。
# 新增特性
# 实验特性
- 支持YashanDB做源以不落盘方式做数据迁移。
- 支持DB2数据源对表、序列、约束、索引、视图和函数的元数据评估和元数据迁移。
- 支持DB2做源时基本数据类型的数据迁移和数据校验。
- 支持DB2到yashanDB之间的统计校验。
- 支持配置周期化校验任务。
# 发布特性
- 支持YashanDB做源时,大表数据迁移的并发迁移。
- 支持PG做源时带有BIT、BIT VARYING、MONEY、INET、CIDR、MACADDR、UUID、JSONB、XML类型的表的评估和迁移。
- 支持校验后对表级别重试。
# 问题修复
- 修复评估转换注释后DDL变乱问题。
- 修复对象DDL中注释拆分导致评估失败问题。
- 修复评估后PIPELINED和PIPE ROW()转换后被删掉问题。
- 修复评估触发器关键字INSTEAD OF转换成INSTEAD_OF问题。
- 修复包变量声明中包含CONSTANT带有DEFAULT时评估失败问题。
- 修复迁移配置提示问题。
- 修复迁移重试未清理上一次失败信息问题。
- 修复表和其他对象同名时大数据迁移报错问题。
- 修复YashanDB、Oracle做源数据迁移时,配置export.jdbc.charRightTrim为true导致CHAR类型数据部分迁移为NULL问题。
# 版本约束
# 评估与元数据迁移
- 内置库或YMP故障场景下,重启后评估失败的任务不支持恢复评估。
- PG自定义类型目前仅支持复合类型、RANGE、ENUM三种。
- GIS类型目前仅支持使用外置库评估,外置库需要在安装YashanDB数据库时,需指定plugin插件包。且YashanDB服务端安装完成后,无法单独安装该插件包。
- 添加Oracle 9i数据源时,连接用户密码不能超过8位。
- Oracle 9i做源评估时,评估范围会多展示部分系统用户。
- Oracle 9i做源迁移时,预检查无源端活跃定时任务检查。
- Oracle 9i做源评估时,检查约束(包括非空约束)丢失部分属性。
- Oracle 9i、Oracle 11g做源迁移用户和权限时,遇到不支持的高级包授权语句会报错,用户评估为不兼容。
- 批量更新验证DDL功能不支持用户和权限,且不支持单独的约束和衍生对象。
- PG表对象如果建表使用了inherits语法,在获取其DDL时不会保留该语法,仅保留其结构,因此其子表后续不会随父表一起更新。
- PG所有引用临时序列的对象都无法兼容。
- PG目前由于数据库差异,分区表无法自动兼容。
- PG评估暂不支持PUBLIC用户,其SCHEMA名在YashanDB为系统保留关键字。
- 在覆盖策略下迁移外键,如果外键所在表不迁移,则该外键无法覆盖迁移。
- 当物化视图指定为手动刷新(ON DEMAND)时,迁移后物化视图数据不一致,需要手动处理。
- 迁移初始化阶段失败的任务,不能进行迁移重试,可返回上一步进行迁移配置后再重新迁移。
- 任意源端评估后对DDL进行改写验证时,不建议修改对象名或列名等信息,否则在评估迁移过程中会出现异常情况,无法找到对应对象或其他异常情况。
- 所有源的SQL类型文件评估目前仅支持评估Create类型的DDL语句。
- 报告管理功能暂不支持任务名中带有!@等特殊字符报告的下载与查看。
- YashanDB到YashanDB暂不支持SCHEMA名中含有特殊字符`~!@#$&*();'"<>,/|。
- 所有源的Mybatis Mapper XML文件评估只支持评估DML类型SQL。
- 所有源的Mybatis Mapper XML文件评估中,对于动态SQL标签<choose>,只会解析第一个<when>标签的动态SQL。
- 升级功能使用约束见文档中安装升级的YMP升级说明。
# 数据迁移
- 使用DB2作为源端数据迁移时,需要先手动部署DB2客户端。
- 使用DB2作为源端数据迁移时,一些特殊表情无法正常迁移,会导致迁移后的字节数和源端不一样。
- GIS类型不支持迁移到YashanDB 23.3版本。
- PG、YashanDB做源,暂不支持迁移超过2M的GIS类型。
- PG的GIS类型迁移到YashanDB,数据以YashanDB的结果为准,例如:
- 四维数据迁到yashan会降为三维。
- z轴是nan会降为二维或者变成0。例如:point(1 1 nan)迁移结果为point(1 1),linestring(1 1 1,2 2 nan)迁移结果为linestring(1 1 1, 2 0),point z empty迁移结果为point empty。
- point的x、y都是nan时迁移为point empty。例如:point(nan nan 1)迁移为point empty,multipoint(1 1 1,nan nan 2)迁移为multipoint(1 1 1,empty)。
- st_astext查询的坐标精度以yashan为准。例如:point(-111.564 120.456)在YashanDB中查询结果为point(-111.563999999999993 120.456000000000003)。
- PG的number类型有nan、infinity、-infinity时候不能成功迁移到崖山,原因是崖山不支持这些值的插入。
- PG的date、timestamp、timestamptz类型含有公元前、infinity、-infinity的时候不能成功迁移到崖山,原因是崖山不支持这些值的插入。
- PG的类型TEXT、BYTEA暂不支持分段获取,有OOM的风险。
- Oracle做源普通用户数据迁移时不支持大表拆分。
- Oracle 9i迁移数据时,导出方式export.tool不支持使用dts配置。
- 数据迁移支持的字符集为GBK和UTF-8(MySQL要求库、表、列、服务、系统、连接编码配置要一致),并要求源端数据库与目标数据库的字符集一致。
- 不支持表名带有单引号的迁移。
- 不支持不可读字符串的数据迁移。
- YashanDB到YashanDB的迁移,暂不支持以下场景:
- 数据迁移不支持的数据类型BOX2D,UDT,NCLOB,且ST_GEOMETRY类型会自动转换为yasldr的basic模式下迁移。
- 暂不支持CLOB中存放emmo表情迁移及迁移时的大表拆分。
- MySQL5.7做源时不支持迁移表情符号。
- MySQL源端迁移至YashanDB(MySQL模式):
- 暂不支持M值大小和数据范围按照YashanDB规格:decimal(M,D)、varchar(M)、varbinary(M)、time来数据迁移。
- 暂不支持数据类型为:year、set、enum、binary的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- PG不支持建表指定collate列的排序,如:create table tb_01(c1 char(10) collate "en_US.utf8" unique),c1列排序会不正确,校验不一致。
- Oracle做数据源时,不支持全量校验的数据类型有:JSON、自定义类型。
- DM做数据源时,不支持全量校验的数据类型有:IMAGE、自定义类型。
- 可以成功迁移超过YashanDB数值范围的数据(例如Oracle和DM Float类型的边界值迁移到YashanDB变为无穷),但校验结果会判断不一致。
- 不支持不可读字符串的数据校验。
- 不支持CLOB/NCLOB中带表情类符号数据的校验。
- MySQL模式校验不支持无符号数和有符号数之间的校验。
# v23.3.2.9
# 发布时间
2025年03月26号。
# 新增特性
- 支持评估后用户通过检查手动刷新兼容率。
- 支持评估任务暂停、恢复和失败后继续评估的操作。
- 支持YashanDB做源时迁移GIS类型。
- 支持PG做源时迁移GIS和大LOB对象。
- 支持PG做源时数据迁移的大表拆分。
- 支持对表设置WHERE条件校验。
- 支持Oracle和YashanDB之间校验时对TIMESTAMP类型做精度配置。
- 优化部署时的各项环境检查控制。
- 优化创建任务时,用户只选评估不展示目标库。
- 优化PG做源迁移时,预检查中风险字段检查内容。
- 优化因分区信息导致DDL过长的表、索引的自动转换。
# 问题修复
- 修复源端PL/SQL中包含ELSIF语句时评估转换问题。
- 修复评估转换后去除了存储过程中RAISE问题。
- 修复评估CONSTANT类型转换错误导致编译失败问题。
- 修复YashanDB作源端时,PACKAGE和PACKAGE BODY独立对象拆分粘连问题。
- 修复处理连续注释(第一行单行注释--,第二是多行注释/*)时,多行注释拆分出错问题。
- 修复YashanDB作源端时,特殊字符密码导致评估任务失败问题。
# 版本约束
# 评估与元数据迁移
- 内置库或YMP故障场景下,重启后评估失败的任务不支持恢复评估。
- PG自定义类型目前仅支持复合类型、RANGE、ENUM三种。
- GIS类型目前仅支持使用外置库评估,外置库需要在安装YashanDB数据库时,需指定plugin插件包。且YashanDB服务端安装完成后,无法单独安装该插件包。
- 添加Oracle 9i数据源时,连接用户密码不能超过8位。
- Oracle 9i做源评估时,评估范围会多展示部分系统用户。
- Oracle 9i做源迁移时,预检查无源端活跃定时任务检查。
- Oracle 9i做源评估时,检查约束(包括非空约束)丢失部分属性。
- Oracle 9i、Oracle 11g做源迁移用户和权限时,遇到不支持的高级包授权语句会报错,用户评估为不兼容。
- 批量更新验证DDL功能不支持用户和权限,且不支持单独的约束和衍生对象。
- PG表对象如果建表使用了inherits语法,在获取其DDL时不会保留该语法,仅保留其结构,因此其子表后续不会随父表一起更新。
- PG所有引用临时序列的对象都无法兼容。
- PG目前由于数据库差异,分区表无法自动兼容。
- PG评估暂不支持PUBLIC用户,其SCHEMA名在YashanDB为系统保留关键字。
- 在覆盖策略下迁移外键,如果外键所在表不迁移,则该外键无法覆盖迁移。
- 当物化视图指定为手动刷新(ON DEMAND)时,迁移后物化视图数据不一致,需要手动处理。
- 迁移初始化阶段失败的任务,不能进行迁移重试,可返回上一步进行迁移配置后再重新迁移。
- 任意源端评估后对DDL进行改写验证时,不建议修改对象名或列名等信息,否则在评估迁移过程中会出现异常情况,无法找到对应对象或其他异常情况。
- 所有源的SQL类型文件评估目前仅支持评估Create类型的DDL语句。
- 报告管理功能暂不支持任务名中带有!@等特殊字符报告的下载与查看。
- YashanDB到YashanDB暂不支持SCHEMA名中含有特殊字符`~!@#$&*();'"<>,/|。
- 所有源的Mybatis Mapper XML文件评估只支持评估DML类型SQL。
- 所有源的Mybatis Mapper XML文件评估中,对于动态SQL标签<choose>,只会解析第一个<when>标签的动态SQL。
- 升级功能使用约束见文档中安装升级的YMP升级说明。
# 数据迁移
- GIS类型不支持迁移到YashanDB 23.3版本。
- PG、YashanDB做源,暂不支持迁移超过2M的GIS类型。
- PG的GIS类型迁移到YashanDB,数据以YashanDB的结果为准,例如:
- 四维数据迁到yashan会降为三维。
- z轴是nan会降为二维或者变成0。例如:point(1 1 nan)迁移结果为point(1 1),linestring(1 1 1,2 2 nan)迁移结果为linestring(1 1 1, 2 0),point z empty迁移结果为point empty。
- point的x、y都是nan时迁移为point empty。例如:point(nan nan 1)迁移为point empty,multipoint(1 1 1,nan nan 2)迁移为multipoint(1 1 1,empty)。
- st_astext查询的坐标精度以yashan为准。例如:point(-111.564 120.456)在YashanDB中查询结果为point(-111.563999999999993 120.456000000000003)。
- PG的number类型有nan、infinity、-infinity时候不能成功迁移到崖山,原因是崖山不支持这些值的插入。
- PG的date、timestamp、timestamptz类型含有公元前、infinity、-infinity的时候不能成功迁移到崖山,原因是崖山不支持这些值的插入。
- PG的类型TEXT、BYTEA暂不支持分段获取,有OOM的风险。
- Oracle做源普通用户数据迁移时不支持大表拆分。
- Oracle 9i迁移数据时,导出方式export.tool不支持使用dts配置。
- 数据迁移支持的字符集为GBK和UTF-8(MySQL要求库、表、列、服务、系统、连接编码配置要一致),并要求源端数据库与目标数据库的字符集一致。
- 不支持表名带有单引号的迁移。
- 不支持不可读字符串的数据迁移。
- YashanDB到YashanDB的迁移,暂不支持以下场景:
- 数据迁移不支持的数据类型BOX2D,UDT,NCLOB,且ST_GEOMETRY类型会自动转换为yasldr的basic模式下迁移。
- 暂不支持CLOB中存放emmo表情迁移及迁移时的大表拆分。
- MySQL5.7做源时不支持迁移表情符号。
- MySQL源端迁移至YashanDB(MySQL模式):
- 暂不支持M值大小和数据范围按照YashanDB规格:decimal(M,D)、varchar(M)、varbinary(M)、time来数据迁移。
- 暂不支持数据类型为:year、set、enum、binary的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- PG不支持建表指定collate列的排序,如:create table tb_01(c1 char(10) collate "en_US.utf8" unique),c1列排序会不正确,校验不一致。
- Oracle做数据源时,不支持全量校验的数据类型有:JSON、自定义类型。
- DM做数据源时,不支持全量校验的数据类型有:IMAGE、自定义类型。
- 可以成功迁移超过YashanDB数值范围的数据(例如Oracle和DM Float类型的边界值迁移到YashanDB变为无穷),但校验结果会判断不一致。
- 不支持不可读字符串的数据校验。
- 不支持CLOB/NCLOB中带表情类符号数据的校验。
- MySQL模式校验不支持无符号数和有符号数之间的校验。
# v23.3.2.7
# 发布时间
2025年02月26号。
# 新增特性
- 支持中英文语言切换。
- 支持MySQL、YashanDB做源迁移BIT类型。
- 支持PG的pbchar类型兼容转换和评估迁移。
- 支持PG常用对象类型到YashanDB的数据迁移。
- 支持PG常用对象类型和YashanDB之间的独立校验。
- 支持灵活配置YMP使用的导入工具参数。
- 文档新增性能调优参考手册。
# 问题修复
- 修复分区表超长DDL在评估前拆分DDL卡住问题。
- 修复YMP评估终止任务后少量线程未释放问题。
- 修复OCI检查阻塞YMP部署的问题。
- 修复表的注释带换行符时评估失败问题。
# 版本约束
# 评估与元数据迁移
- PG自定义类型目前仅支持复合类型、RANGE、ENUM三种。
- GIS类型目前仅支持使用外置库评估,外置库需要在安装YashanDB数据库时,需指定plugin插件包。且YashanDB服务端安装完成后,无法单独安装该插件包。
- 添加Oracle 9i数据源时,连接用户密码不能超过8位。
- Oracle 9i做源评估时,评估范围会多展示部分系统用户。
- Oracle 9i做源迁移时,预检查无源端活跃定时任务检查。
- Oracle 9i做源评估时,检查约束(包括非空约束)丢失部分属性。
- Oracle 9i、Oracle 11g做源迁移用户和权限时,遇到不支持的高级包授权语句会报错,用户评估为不兼容。
- 批量更新验证DDL功能不支持用户和权限,且不支持单独的约束和衍生对象。
- PG表对象如果建表使用了inherits语法,在获取其DDL时不会保留该语法,仅保留其结构,因此其子表后续不会随父表一起更新。
- PG所有引用临时序列的对象都无法兼容。
- PG目前由于数据库差异,分区表无法自动兼容。
- PG评估暂不支持PUBLIC用户,其SCHEMA名在YashanDB为系统保留关键字。
- 在覆盖策略下迁移外键,如果外键所在表不迁移,则该外键无法覆盖迁移。
- 当物化视图指定为手动刷新(ON DEMAND)时,迁移后物化视图数据不一致,需要手动处理。
- 迁移初始化阶段失败的任务,不能进行迁移重试,可返回上一步进行迁移配置后再重新迁移。
- 任意源端评估后对DDL进行改写验证时,不建议修改对象名或列名等信息,否则在评估迁移过程中会出现异常情况,无法找到对应对象或其他异常情况。
- 所有源的SQL类型文件评估目前仅支持评估Create类型的DDL语句。
- 报告管理功能暂不支持任务名中带有!@等特殊字符报告的下载与查看。
- YashanDB到YashanDB暂不支持SCHEMA名中含有特殊字符`~!@#$&*();'"<>,/|。
- 所有源的Mybatis Mapper XML文件评估只支持评估DML类型SQL。
- 所有源的Mybatis Mapper XML文件评估中,对于动态SQL标签<choose>,只会解析第一个<when>标签的动态SQL。
- 升级功能使用约束见文档中安装升级的YMP升级说明。
# 数据迁移
- PG的number类型有nan、infinity、-infinity时候不能成功迁移到崖山,原因是崖山不支持这些值的插入。
- PG的date、timestamp、timestamptz类型含有公元前、infinity、-infinity的时候不能成功迁移到崖山,原因是崖山不支持这些值的插入。
- PG的类型TEXT、BYTEA暂不支持分段获取,有OOM的风险。
- GIS类型数据迁移不带SRID信息。
- Oracle做源普通用户数据迁移时不支持大表拆分。
- Oracle 9i迁移数据时,导出方式export.tool不支持使用dts配置。
- 数据迁移支持的字符集为GBK和UTF-8(MySQL要求库、表、列、服务、系统、连接编码配置要一致),并要求源端数据库与目标数据库的字符集一致。
- 不支持表名带有单引号的迁移。
- 不支持不可读字符串的数据迁移。
- YashanDB到YashanDB的迁移,暂不支持以下场景:
- 数据迁移不支持的数据类型BOX2D,UDT,NCLOB,且ST_GEOMETRY类型会自动转换为yasldr的basic模式下迁移。
- 暂不支持CLOB中存放emmo表情迁移及迁移时的大表拆分。
- MySQL5.7做源时不支持迁移表情符号。
- MySQL源端迁移至YashanDB(MySQL模式):
- 暂不支持M值大小和数据范围按照YashanDB规格:decimal(M,D)、varchar(M)、varbinary(M)、time来数据迁移。
- 暂不支持数据类型为:year、set、enum、binary的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- PG中bpchar数据类型与YashanDB的char类型校验时,不支持包含E转义字符与chr()的数据及表情符号的校验一致性。
- PG中不支持存在24:00:00数据作排序键的数据一致性校验。
- PG不支持建表指定collate列的排序,如:create table tb_01(c1 char(10) collate "en_US.utf8" unique),c1列排序会不正确,校验不一致。
- Oracle做数据源时,不支持全量校验的数据类型有:JSON、自定义类型。
- DM做数据源时,不支持全量校验的数据类型有:IMAGE、自定义类型。
- 可以成功迁移超过YashanDB数值范围的数据(例如Oracle和DM Float类型的边界值迁移到YashanDB变为无穷),但校验结果会判断不一致。
- 不支持无主键约束、唯一约束表的数据全量校验,该表会自动转为统计校验。
- 不支持不可读字符串的数据校验。
- 不支持CLOB/NCLOB中带表情类符号数据的校验。
- MySQL模式校验不支持无符号数和有符号数之间的校验。
# v23.3.2.5
# 发布时间
2025年01月15号。
# 新增特性
- 支持PG常用对象类型到YashanDB的元数据评估和元数据迁移。
- 支持Oracle做源评估时过滤创建全文索引(TEXT)生成的表。
- 支持部署时和评估任务启动前检查exp版本信息。
- 支持YashanDB到YashanDB评估和迁移RTREE INDEX。
- 支持MySQL、YashanDB做源迁移时schema改名功能。
- 支持在目标端对迁移后的用户授予CONNECT和RESOURCE角色。
- 支持YashanDB到YashanDB的GIS类型的校验。
- 新增开启目标库统计信息收集的迁移配置。
- 优化国际化使用展示,日志、配置和命令行改为英文。
# 问题修复
- 修复YashanDB做源评估时不支持RTREE INDEX报错问题。
- 修复使用23.3及以上版本的YashanDB YAC做评估库的兼容问题。
# 版本约束
# 评估与元数据迁移
- PG自定义类型目前仅支持复合类型、RANGE、ENUM三种。
- GIS类型目前仅支持使用外置库评估,外置库需要在安装YashanDB数据库时,需指定plugin插件包。且YashanDB服务端安装完成后,无法单独安装该插件包。
- 添加Oracle 9i数据源时,连接用户密码不能超过8位。
- Oracle 9i做源评估时,评估范围会多展示部分系统用户。
- Oracle 9i做源迁移时,预检查无源端活跃定时任务检查。
- Oracle 9i做源评估时,检查约束(包括非空约束)丢失部分属性。
- Oracle 9i、Oracle 11g做源迁移用户和权限时,遇到不支持的高级包授权语句会报错,用户评估为不兼容。
- 批量更新验证DDL功能不支持用户和权限,且不支持单独的约束和衍生对象。
- PG表对象如果建表使用了inherits语法,在获取其DDL时不会保留该语法,仅保留其结构,因此其子表后续不会随父表一起更新。
- PG所有引用临时序列的对象都无法兼容。
- PG目前由于数据库差异,分区表无法自动兼容。
- PG评估暂不支持PUBLIC用户,其SCHEMA名在YashanDB为系统保留关键字。
- 在覆盖策略下迁移外键,如果外键所在表不迁移,则该外键无法覆盖迁移。
- 当物化视图指定为手动刷新(ON DEMAND)时,迁移后物化视图数据不一致,需要手动处理。
- 迁移初始化阶段失败的任务,不能进行迁移重试,可返回上一步进行迁移配置后再重新迁移。
- 任意源端评估后对DDL进行改写验证时,不建议修改对象名或列名等信息,否则在评估迁移过程中会出现异常情况,无法找到对应对象或其他异常情况。
- 所有源的SQL类型文件评估目前仅支持评估Create类型的DDL语句。
- 报告管理功能暂不支持任务名中带有!@等特殊字符报告的下载与查看。
- YashanDB到YashanDB暂不支持SCHEMA名中含有特殊字符`~!@#$&*();'"<>,/|。
- 所有源的Mybatis Mapper XML文件评估只支持评估DML类型SQL。
- 所有源的Mybatis Mapper XML文件评估中,对于动态SQL标签<choose>,只会解析第一个<when>标签的动态SQL。
- 升级功能使用约束见文档中安装升级的YMP升级说明。
# 数据迁移
- GIS类型数据迁移不带SRID信息。
- Oracle做源普通用户数据迁移时不支持大表拆分。
- Oracle 9i迁移数据时,导出方式export.tool不支持使用dts配置。
- 数据迁移支持的字符集为GBK和UTF-8(MySQL要求库、表、列、服务、系统、连接编码配置要一致),并要求源端数据库与目标数据库的字符集一致。
- 不支持表名带有单引号的迁移。
- 不支持不可读字符串的数据迁移。
- YashanDB到YashanDB的迁移,暂不支持以下场景:
- 数据迁移不支持的数据类型BOX2D,UDT,NCLOB,且ST_GEOMETRY类型会自动转换为yasldr的basic模式下迁移。
- 暂不支持CLOB中存放emmo表情迁移及迁移时的大表拆分。
- MySQL5.7做源时不支持迁移表情符号。
- MySQL源端迁移至YashanDB(MySQL模式):
- 暂不支持M值大小和数据范围按照YashanDB规格:decimal(M,D)、varchar(M)、varbinary(M)、time来数据迁移。
- 暂不支持数据类型为:year、set、enum、binary的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- Oracle做数据源时,不支持全量校验的数据类型有:JSON、自定义类型。
- DM做数据源时,不支持全量校验的数据类型有:IMAGE、自定义类型。
- 可以成功迁移超过YashanDB数值范围的数据(例如Oracle和DM Float类型的边界值迁移到YashanDB变为无穷),但校验结果会判断不一致。
- 不支持无主键约束、唯一约束表的数据全量校验,该表会自动转为统计校验。
- 不支持不可读字符串的数据校验。
- 不支持CLOB/NCLOB中带表情类符号数据的校验。
- MySQL模式校验不支持无符号数和有符号数之间的校验。
# v23.3.2.3
# 发布时间
2024年12月18号。
# 新增特性
- 支持Oracle 9i做源的评估、迁移、校验全流程。
- 支持同一任务下使用相同数据库来选作评估库和迁移目标库。
- 支持单个和批量的对象级更新并验证源端DDL。
- 支持迁移时展示对象的迁移耗时。
- 支持Oracle做源迁移公共同义词。
- 支持集成数据迁移组件安装包,可用于数据同步。
- 支持YMP使用内置的JRE17。
- 优化YashanDB、DM做源的全量校验性能。
- 优化校验配置页面高级选项展示。
- 优化YMP使用指令修改密码时提示信息。
# 问题修复
- 修复YMP在修改密码时提示信息不精确问题。
- 修复校验时多个拆分线程连接未释放问题。
# 版本约束
# 评估与元数据迁移
- 添加Oracle 9i数据源时,连接用户密码不能超过8位。
- Oracle 9i做源评估时,评估范围会多展示部分系统用户。
- Oracle 9i做源迁移时,预检查无源端活跃定时任务检查。
- Oracle 9i做源评估时,检查约束(包括非空约束)丢失部分属性。
- Oracle 9i、Oracle 11g做源迁移用户和权限时,遇到不支持的高级包授权语句会报错,用户评估为不兼容。
- 批量更新验证DDL功能不支持用户和权限,且不支持单独的约束和衍生对象。
- PG表对象如果建表使用了inherits语法,在获取其DDL时不会保留该语法,仅保留其结构,因此其子表后续不会随父表一起更新。
- PG所有引用临时序列的对象都无法兼容。
- PG目前由于数据库差异,分区表无法自动兼容。
- PG评估暂不支持PUBLIC用户,其SCHEMA名在YashanDB为系统保留关键字。
- 在覆盖策略下迁移外键,如果外键所在表不迁移,则该外键无法覆盖迁移。
- 当物化视图指定为手动刷新(ON DEMAND)时,迁移后物化视图数据不一致,需要手动处理。
- 迁移初始化阶段失败的任务,不能进行迁移重试,可返回上一步进行迁移配置后再重新迁移。
- 任意源端评估后对DDL进行改写验证时,不建议修改对象名或列名等信息,否则在评估迁移过程中会出现异常情况,无法找到对应对象或其他异常情况。
- 所有源的SQL类型文件评估目前仅支持评估Create类型的DDL语句。
- 报告管理功能暂不支持任务名中带有!@等特殊字符报告的下载与查看。
- YashanDB到YashanDB暂不支持SCHEMA名中含有特殊字符`~!@#$&*();'"<>,/|。
- 所有源的Mybatis Mapper XML文件评估只支持评估DML类型SQL。
- 所有源的Mybatis Mapper XML文件评估中,对于动态SQL标签<choose>,只会解析第一个<when>标签的动态SQL。
- 升级功能使用约束见文档中安装升级的YMP升级说明。
# 数据迁移
- Oracle做源普通用户数据迁移时不支持大表拆分。
- Oracle 9i迁移数据时,导出方式export.tool不支持使用dts配置。
- 数据迁移支持的字符集为GBK和UTF-8(MySQL要求库、表、列、服务、系统、连接编码配置要一致),并要求源端数据库与目标数据库的字符集一致。
- 不支持表名带有单引号的迁移。
- 不支持不可读字符串的数据迁移。
- YashanDB到YashanDB的迁移,暂不支持以下场景:
- 数据迁移不支持的数据类型BOX2D,UDT,NCLOB,且ST_GEOMETRY类型会自动转换为yasldr的basic模式下迁移。
- 暂不支持CLOB中存放emmo表情迁移及迁移时的大表拆分。
- MySQL5.7做源时不支持迁移表情符号。
- MySQL源端迁移至YashanDB(MySQL模式):
- 暂不支持M值大小和数据范围按照YashanDB规格:decimal(M,D)、varchar(M)、varbinary(M)、time来数据迁移。
- 暂不支持数据类型为:year、set、enum、binary的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- Oracle做数据源时,不支持全量校验的数据类型有:JSON、自定义类型。
- DM做数据源时,不支持全量校验的数据类型有:IMAGE、自定义类型。
- 可以成功迁移超过YashanDB数值范围的数据(例如Oracle和DM Float类型的边界值迁移到YashanDB变为无穷),但校验结果会判断不一致。
- 不支持无主键约束、唯一约束表的数据全量校验,该表会自动转为统计校验。
- 不支持不可读字符串的数据校验。
- 不支持CLOB/NCLOB中带表情类符号数据的校验。
- MySQL模式校验不支持无符号数和有符号数之间的校验。
# 其他约束
- ymp.sh中所有脚本指令暂不支持相对路径。
# v23.3.1.2
# 发布时间
2024年11月20号。
# 新增特性
- 支持PG做源时对序列、表、约束、索引和视图的元数据迁移。
- 支持用户在校验配置页面自定义任务高级设置。
- 支持MySQL做源迁移时,提供配置兼容utf4mb格式。
- 支持Oracle做源迁移权限时,自动过滤不支持的高级包授权语句。
- 支持界面对象搜索时切换模糊搜索和精确搜索。
- 优化MySQL做源的全量校验性能。
- 优化YMP刷新报告时的提示信息及重新评估的界面展示。
# 问题修复
- 修复MySQL做源时字符集为utf4mb的char(n)、varchar(n)字符类型,迁移时字段长度映射太短,导致数据被截断问题。
- 修复Oracle往YashanDB迁移用户和权限时,不支持的高级包授权出错问题。
- 修复YMP界面搜索大量对象名字相近时无法精确定位问题。
- 修复Oracle做源评估时,包类型中包头有效包体失效时未展示为失效对象问题。
- 修复删除评估任务时,评估数据库异常导致任务删除不成功问题。
- 修复多次终止后不能单个对象重试问题。
- 修复部署前更改SYS密码不支持特殊字符问题。
# 版本约束
# 评估与元数据迁移
- Oracle 11g做源迁移用户和权限时,遇到不支持的高级包授权语句会报错,用户评估为不兼容。
- PG表对象如果建表使用了inherits语法,在获取其DDL时不会保留该语法,仅保留其结构,因此其子表后续不会随父表一起更新。
- PG所有引用临时序列的对象都无法兼容。
- PG目前由于数据库差异,分区表无法自动兼容。
- PG评估暂不支持PUBLIC用户,其SCHEMA名在YashanDB为系统保留关键字。
- 在覆盖策略下迁移外键,如果外键所在表不迁移,则该外键无法覆盖迁移。
- 当物化视图指定为手动刷新(ON DEMAND)时,迁移后物化视图数据不一致,需要手动处理。
- 迁移初始化阶段失败的任务,不能进行迁移重试,可返回上一步进行迁移配置后再重新迁移。
- 任意源端评估后对DDL进行改写验证时,不建议修改对象名或列名等信息,否则在评估迁移过程中会出现异常情况,无法找到对应对象或其他异常情况。
- 所有源的SQL类型文件评估目前仅支持评估Create类型的DDL语句。
- 报告管理功能暂不支持任务名中带有!@等特殊字符报告的下载与查看。
- YashanDB到YashanDB暂不支持SCHEMA名中含有特殊字符`~!@#$&*();'"<>,/|。
- 所有源的Mybatis Mapper XML文件评估只支持评估DML类型SQL。
- 所有源的Mybatis Mapper XML文件评估中,对于动态SQL标签<choose>,只会解析第一个<when>标签的动态SQL。
- 升级功能使用约束见文档中安装升级的YMP升级说明。
# 数据迁移
- 数据迁移支持的字符集为GBK和UTF-8(MySQL要求库、表、列、服务、系统、连接编码配置要一致),并要求源端数据库与目标数据库的字符集一致。
- 不支持表名带有单引号的迁移。
- 不支持不可读字符串的数据迁移。
- YashanDB到YashanDB的迁移,暂不支持以下场景:
- 数据迁移不支持的数据类型BOX2D,UDT,NCLOB,且ST_GEOMETRY类型会自动转换为yasldr的basic模式下迁移。
- 暂不支持CLOB中存放emmo表情迁移及迁移时的大表拆分。
- MySQL5.7做源时不支持迁移表情符号。
- MySQL源端迁移至YashanDB(MySQL模式):
- 暂不支持M值大小和数据范围按照YashanDB规格:decimal(M,D)、varchar(M)、varbinary(M)、time来数据迁移。
- 暂不支持数据类型为:year、set、enum、binary的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- Oracle做数据源时,不支持全量校验的数据类型有:JSON、自定义类型。
- DM做数据源时,不支持全量校验的数据类型有:IMAGE、自定义类型。
- 可以成功迁移超过YashanDB数值范围的数据(例如Oracle和DM Float类型的边界值迁移到YashanDB变为无穷),但校验结果会判断不一致。
- 不支持无主键约束、唯一约束表的数据全量校验,该表会自动转为统计校验。
- 不支持不可读字符串的数据校验。
- 不支持CLOB/NCLOB中带表情类符号数据的校验。
- MySQL模式校验不支持无符号数和有符号数之间的校验。
# 其他约束
- ymp.sh中所有脚本指令暂不支持相对路径。
# v23.3.1.1
# 发布时间
2024年10月30号。
# 新增特性
- 支持PG做源时对序列、表、约束、索引和视图进行兼容性评估。
- 支持展示YMP平台指标监控。
- 支持评估后修改了ddl或者设置忽略/不忽略后,提示是否刷新报告。
- 支持DM做源时配置数据迁移兼容null值,和MySQL兼容配置保持一致。
- 优化Oracle做源的全量校验性能。
- 优化评估后兼容率不到100%也可进行迁移。
- 优化预检查时数据库版本检查和Yasldr版本检查从阻塞级别改为告警级别。
- 优化YMP界面操作,添加按钮防抖功能。
# 问题修复
- 修复评估时转换语句部分elseIf语句空格丢失,部分特殊参数丢失问题。
- 修复数据迁移时Oracle的LOB对象的empty_lob、MySQL大对象的空串迁移为null的问题。
# 版本约束
# 评估与元数据迁移
- PG表对象如果建表使用了inherits语法,在获取其DDL时不会保留该语法,仅保留其结构,因此其子表后续不会随父表一起更新。
- PG所有引用临时序列的对象都无法兼容。
- PG目前由于数据库差异,分区表无法自动兼容。
- PG评估暂不支持PUBLIC用户,其SCHEMA名在YashanDB为系统保留关键字。
- 在覆盖策略下迁移外键,如果外键所在表不迁移,则该外键无法覆盖迁移。
- 当物化视图指定为手动刷新(ON DEMAND)时,迁移后物化视图数据不一致,需要手动处理。
- 迁移初始化阶段失败的任务,不能进行迁移重试,可返回上一步进行迁移配置后再重新迁移。
- 任意源端评估后对DDL进行改写验证时,不建议修改对象名或列名等信息,否则在评估迁移过程中会出现异常情况,无法找到对应对象或其他异常情况。
- 所有源的SQL类型文件评估目前仅支持评估Create类型的DDL语句。
- 报告管理功能暂不支持任务名中带有!@等特殊字符报告的下载与查看。
- YashanDB到YashanDB暂不支持SCHEMA名中含有特殊字符`~!@#$&*();'"<>,/|。
- 所有源的Mybatis Mapper XML文件评估只支持评估DML类型SQL。
- 所有源的Mybatis Mapper XML文件评估中,对于动态SQL标签<choose>,只会解析第一个<when>标签的动态SQL。
- 升级功能使用约束见文档中安装升级的YMP升级说明。
# 数据迁移
- 数据迁移支持的字符集为GBK和UTF-8(MySQL要求库、表、列、服务、系统、连接编码配置要一致),并要求源端数据库与目标数据库的字符集一致。
- 不支持表名带有单引号的迁移。
- 不支持不可读字符串的数据迁移。
- YashanDB到YashanDB的迁移,暂不支持以下场景:
- 数据迁移不支持的数据类型BOX2D,UDT,NCLOB,且ST_GEOMETRY类型会自动转换为yasldr的basic模式下迁移。
- 暂不支持CLOB中存放emmo表情迁移及迁移时的大表拆分。
- MySQL5.7做源时不支持迁移表情符号。
- MySQL源端迁移至YashanDB(MySQL模式):
- 暂不支持M值大小和数据范围按照YashanDB规格:decimal(M,D)、varchar(M)、varbinary(M)、time来数据迁移。
- 暂不支持数据类型为:year、set、enum、binary的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- Oracle做数据源时,不支持全量校验的数据类型有:JSON、自定义类型。
- DM做数据源时,不支持全量校验的数据类型有:IMAGE、自定义类型。
- 可以成功迁移超过YashanDB数值范围的数据(例如Oracle和DM Float类型的边界值迁移到YashanDB变为无穷),但校验结果会判断不一致。
- 不支持无主键约束、唯一约束表的数据全量校验,该表会自动转为统计校验。
- 不支持不可读字符串的数据校验。
- 不支持CLOB/NCLOB中带表情类符号数据的校验。
- MySQL模式校验不支持无符号数和有符号数之间的校验。