#v23.4
# v23.4.13.2
# 发布时间
2025年10月22号。
# 新增特性
- 支持DB2 10.1版本做源评估+元数据迁移、数据迁移和统计校验。
- 支持DB2源存储过程对象的评估和元数据迁移。
- 支持DB2系统用户SYSIBM下的SCHEMA做评估迁移范围。
- 支持PG、DB2做源数据迁移时使用兼容配置。
- 支持YashanDB做源数据迁移时配置三种大表ROWID拆分方式。
- 支持DM做源在CASE_SENSITIVE=N配置下评估转换可选择大小写敏感和不敏感。
- 支持MySQL做源SQL_MODE带有ANSI_QUOTES参数的评估+元数据迁移。
- 支持数据迁移预检查增加表是否有索引的检查。
- 支持部署时自动添加YMP使用导入工具的依赖。
- 优化MySQL做源迁移到YashanDB(mysql模式)界面展示和交互提示。
# 问题修复
- 修复Oracle 10g做源WARN日志打印视图不存在问题。
- 修复存储过程评估转换时调用参数个数不匹配问题。
- 修复表上主键约束创建失败问题。
# 版本约束
# 评估与元数据迁移
- 评估时修改用户的密码需要带上"",否则迁移时SCHEMA改名映射会报错。
- 暂不支持使用三权分立的YashanDB数据库来做评估库。
- DB2做源评估时,如果对象名中还有 ' 等特殊符号,受限于DB2LOOK工具报错中断导出DDL,评估任务会失败。
- PG做源评估时,带有多个generated自增属性列的表无法自动兼容。
- PG自定义类型目前仅支持复合类型、RANGE、ENUM三种。
- GIS类型目前仅支持使用外置库评估,外置库需要在安装YashanDB数据库时,需指定plugin插件包。且YashanDB服务端安装完成后,无法单独安装该插件包。
- 添加Oracle 9i和10g数据源时,连接用户密码不能超过8位。
- Oracle 9i和10g做源评估时,评估范围会多展示部分系统用户。
- Oracle 9i和10g做源迁移时,预检查无源端活跃定时任务检查。
- Oracle 9i和10g做源评估时,检查约束(包括非空约束)丢失部分属性。
- Oracle 9i、Oracle 10g、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 9i、Oracle 10g暂不支持BFILE的数据迁移。
- DM、MySQL大对象类型的empty_lob数据迁移将会迁移到YashanDB的NULL数据。
- YashanDB到YashanDB暂不支持直接迁移带有GENERATED ALWAYS属性列表的数据。
- 不支持多字符表情包迁移。
- DB2做源时,暂不支持超过1023M大对象类型的迁移。
- 不支持超过1023M的GIS类型数据迁移。
- 使用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做源普通用户数据迁移时不支持大表拆分。
- 数据迁移支持的字符集为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的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- 各个源暂不支持主键(或者唯一键)列数据带有#,“,`,\n,/,/n,表情包,英文逗号等特殊字符的校验。
- 暂不支持MySQL和YashanDB(mysql模式)之间超过崖山范围的time类型校验。
- 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.4.11.2
# 发布时间
2025年09月17号。
# 实验特性
- 支持Oracle 10g做源评估+元数据迁移、数据迁移和校验。
# 新增特性
- 支持DB2 9.5版本做源评估+元数据迁移、数据迁移和统计校验。
- 支持Oracle做源评估不兼容赋权语句自动过滤。
- 优化迁移配置的预检查项控制方式和展示。
- 支持Oracle做源的部分配参数初始化。
# 问题修复
- 修复DB2对象名称部分相同评估获取DDL混淆问题。
- 修复PG做源评估时,序列起始值不符合预期问题。
- 修复DB2迁移数据总量显示错误问题。
- 修复MySQL的TEXT类型空字符串迁移为NULL违反约束导问题。
- 修复DB2连接数无法满足校验报错问题。
# 版本约束
# 评估与元数据迁移
- DB2做源评估时,如果对象名中还有 ' 等特殊符号,受限于DB2LOOK工具报错中断导出DDL,评估任务会失败。
- PG做源评估时,带有多个generated自增属性列的表无法自动兼容。
- PG自定义类型目前仅支持复合类型、RANGE、ENUM三种。
- GIS类型目前仅支持使用外置库评估,外置库需要在安装YashanDB数据库时,需指定plugin插件包。且YashanDB服务端安装完成后,无法单独安装该插件包。
- 添加Oracle 9i和10g数据源时,连接用户密码不能超过8位。
- Oracle 9i和10g做源评估时,评估范围会多展示部分系统用户。
- Oracle 9i和10g做源迁移时,预检查无源端活跃定时任务检查。
- Oracle 9i和10g做源评估时,检查约束(包括非空约束)丢失部分属性。
- Oracle 9i、Oracle 10g、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 9i、Oracle 10g暂不支持BFILE的数据迁移。
- DM、MySQL大对象类型的empty_lob数据迁移将会迁移到YashanDB的NULL数据。
- YashanDB到YashanDB暂不支持直接迁移带有GENERATED ALWAYS属性列表的数据。
- 不支持多字符表情包迁移。
- DB2做源时,暂不支持超过1023M大对象类型的迁移。
- 不支持超过1023M的GIS类型数据迁移。
- 使用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做源普通用户数据迁移时不支持大表拆分。
- 数据迁移支持的字符集为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的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- 各个源暂不支持主键(或者唯一键)列数据带有#,“,`,\n,/,/n,表情包,英文逗号等特殊字符的校验。
- 暂不支持MySQL和YashanDB(mysql模式)之间超过崖山范围的time类型校验。
- 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.4.9.2
# 发布时间
2025年08月20号。
# 新增特性
- 支持评估中展示对象评估详情。
- 支持展示Oracle、YashanDB、DM数据源字符集。
- 支持Oracle到YashanDB评估时部分差异语法和函数的转换兼容。
- 支持评估时Oracle源GBK字符集到YashanDB字符集UTF-8的字符扩展配置。
- 支持独立展示元数据迁移耗时和数据迁移耗时。
- 支持数据迁移展示最大迁移速度。
- 支持评估和迁移BFILE类型的字段数据(不包括文件数据)。
- 支持Oracle数据迁移时配置部分导出参数自动优化。
- 支持展示校验进度,包括表总数、校验中数量、校验完成数量、检验失败数量。
- 优化各个内部工具的依赖独立。
# 问题修复
- 修复评估后丢掉了触发器的when语句后面的条件括号问题。
- 修复DB2同表多索引触发评估长时间卡住问题。
- 修复DB2容量检查表数据量计算错误问题。
- 修复PG的PUBLIC用户下表评估时报错已存在的问题。
- 修复PG的PUBLIC用户下表字段带有YashanDB关键字EXCEPTION迁移失败问题。
# 版本约束
# 评估与元数据迁移
- PG做源评估时,带有多个generated自增属性列的表无法自动兼容。
- 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升级说明。
# 数据迁移
- Oracle 9i暂不支持BFILE、XMLTYPE的数据迁移。
- DM、MySQL大对象类型的empty_lob数据迁移将会迁移到YashanDB的NULL数据。
- YashanDB到YashanDB暂不支持直接迁移带有GENERATED ALWAYS属性列表的数据。
- 不支持多字符表情包迁移。
- DB2做源时,暂不支持超过1023M大对象类型的迁移。
- 不支持超过1023M的GIS类型数据迁移。
- 使用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做源普通用户数据迁移时不支持大表拆分。
- 数据迁移支持的字符集为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的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- 各个源暂不支持主键(或者唯一键)列数据带有#,“,`,\n,/,/n,表情包,英文逗号等特殊字符的校验。
- 暂不支持MySQL和YashanDB(mysql模式)之间超过崖山范围的time类型校验。
- 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.4.7.2
# 发布时间
2025年07月23号。
# 新增特性
- 支持保留评估转换时DDL的部分注释。
- 支持MySQL到YashanDB(mysql模式)评估时设置条件注释是否生效。
- 支持普通用户数据源迁移时展示和初始化表空间。
- 支持配置浏览器不保存密码。
- 优化分区表上约束USING INDEX语法超长DDL的评估性能。
- 优化迁移高级配置界面展示和增加确认、取消和恢复默认值功能。
# 问题修复
- 修复单个或者批量验证表对象时处理关联外键问题。
- 修复PG源TEXT类型行内迁移报错问题。
- 修复DDL中COMMENT语法中带有关键字BEGIN评估失败问题。
- 修复Oracle评估转换后PIVOT关键字丢失问题。
- 修复Oracle的PLSQL评估转换丢失SELECT子句的引号问题。
# 版本约束
# 评估与元数据迁移
- 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做源时,暂不支持超过1023M大对象类型的迁移。
- 不支持超过1023M的GIS类型数据迁移。
- 使用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做源普通用户数据迁移时不支持大表拆分。
- 数据迁移支持的字符集为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的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- 各个源暂不支持主键(或者唯一键)列数据带有#,“,`,\n,/,/n,表情包,英文逗号等特殊字符的校验。
- 暂不支持MySQL和YashanDB(mysql模式)之间超过崖山范围的time类型校验。
- 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.4.5.2
# 发布时间
2025年06月25号。
# 新增特性
- 支持评估、迁移和校验Oracle的ROWID类型。
- 支持界面配置迁移任务运行参数。
- 支持Oracle和YashanDB进行周期性的离线校验。
- 支持对RH9.0的适配兼容。
# 问题修复
- 修复DTS方式迁移时找不到依赖文件问题。
- 修复Oracle做源评估DDL中改写增加了AS关键字问题。
- 修复Oracle二级分区表数据迁移丢失问题。
- 修复MySQL评估中短约束名导致评估失败问题。
- 修复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升级说明。
# 数据迁移
- 不支持多字符表情包迁移。
- DB2做源时,暂不支持超过1023M大对象类型的迁移。
- 不支持超过1023M的GIS类型数据迁移。
- 使用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做源普通用户数据迁移时不支持大表拆分。
- 数据迁移支持的字符集为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的数据迁移。
- 暂不支持数据类型属性为:unsigned、zerofill的数据迁移。
# 数据校验
- 暂不支持MySQL和mysql模式YashanDB之间超过崖山范围的time类型校验。
- 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.4.3.2
# 发布时间
2025年05月28号。
# 新增特性
# 实验特性
- 优化数据迁移后元数据迁移性能。(说明:该特性能保证同时满配并发索引迁移,但在少数的空数据的场景,性能有所影响,下降30%左右,后续迭代优化提升)
# 发布特性
- 支持内置数据库部署时指定yashan模式或者mysql模式。
- 支持PG对PUBLIC用户下的对象做兼容评估。
- 支持PG做源迁移时SCHEMA改名。
- 支持对PG9.6版本的全流程兼容。
- 支持离线报告中列宽自由伸缩。
- 支持数据迁移时设置WHERE过滤条件。
- 优化对YashanDB23.4版本的部分兼容适配。
- 优化TRIGGER类型评估报错信息行号。
- 优化Oracle到YashanDB的分区表、LOB表的数据迁移性能。
# 问题修复
- 修复PLSQL评估转换出错问题。
- 修复PLSQL评估转换丢失左右侧(+)问题。
- 修复PLSQL评估转换GOTO的标识<<label>>丢失问题。
- 修复版本升级后OCI不可用问题。
- 修复评估报告中空行报错问题。
- 修复升级成功后回退的文档说明问题。
- 修复故障终止后重新评估对象变少问题。
- 修复生成的报告内容不全问题。
- 修复终止后全保留策略对象DDL修改丢失问题。
# 版本约束
# 评估与元数据迁移
- 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升级说明。
# 数据迁移
- 暂不支持CLOB中存放emmo表情迁移。
- DB2大对象迁移内存溢出时可调大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做源普通用户数据迁移时不支持大表拆分。
- 数据迁移支持的字符集为GBK和UTF-8(MySQL要求库、表、列、服务、系统、连接编码配置要一致),并要求源端数据库与目标数据库的字符集一致。
- 不支持表名带有单引号的迁移。
- 不支持不可读字符串的数据迁移。
- YashanDB到YashanDB的迁移,暂不支持以下场景:
- 数据迁移不支持的数据类型BOX2D,UDT,NCLOB,且ST_GEOMETRY类型会自动转换为yasldr的basic模式下迁移。
- MySQL5.7做源时不支持迁移表情符号。
- MySQL源端迁移至YashanDB(mysql模式):
- 暂不支持M值大小和数据范围按照YashanDB规格:decimal(M,D)、varchar(M)、varbinary(M)、time来数据迁移。
- 暂不支持数据类型为:year、set、enum的数据迁移。
- 暂不支持数据类型属性为: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模式校验不支持无符号数和有符号数之间的校验。

