#评估配置
# 创建评估任务
# 基础信息
支持点击右侧【编辑】按钮来修改基础信息。需要注意的是,编辑确认【保存】时会检查源端数据库连接用户是否满足选择的任务步骤所需的权限,权限详见:数据源权限配置。 缺失的权限会弹窗提示。
# 创建在线评估任务
# 选择评估数据库
- 评估数据库:可选项,默认值:内置库。
- 选择【内置库】,若表默认类型为LSC,YMP将自动在system和user表空间下挂载DATABUCKET。
- 选择【外置库】,请确保评估数据库与迁移目标数据库版本一致,否则评估结果可能不准确,导致迁移不可用。要求数据库用户具有DBA权限。
# 选择评估对象
- 选择评估对象:评估对象至少选择一项,可多选。
- Oracle支持评估对象类型:用户、权限、表、约束、索引、视图、序列、物化视图、同义词、触发器、自定义类型、自定义函数、包、存储过程。
- MySQL支持评估对象类型:表、约束、索引、视图、触发器、自定义函数、存储过程、Event。
- DM8支持评估对象类型:序列、表、约束、索引、视图、物化视图、自定义类型、触发器、同义词、存储过程、函数、包。
- YashanDB支持评估类型:表、序列、索引、约束、AC(访问约束)、DBLINK、视图、物化视图、同义词、存储过程、函数(自定义函数)、高级包、定时任务、触发器。
Note:
DBLINK对象迁移完成后,默认密码为yasdb_123。 如果任务配置采用MySQL模式,则会自动创建选择的DATABASE同名的SCHEMA和DATABASE,原生模式仅创建同名SCHEMA。 如果MySQL模式下,对象使用的用户超出了选择的DATABASE范围,则会因为用户不存在而不兼容。
# 选择评估范围
- 选择评估范围:下方列表会展示源端数据库的schema名称,可以选择需要进行评估迁移的schema列表,可多选。
- 系统schema已经被过滤,无法选择,且如果选中的schema与YashanDB系统schema同名,则也无法保存任务或进行下一步。
- MySQL系统schema主要有4个:information_schema,MySQL,performance_schema,sys。
- Oracle11系统schema参考配置文件application.properties中的schemaBlackList.oracle。
- Oracle12、19、21版本在11的过滤基础上再次根据系统视图查询结果进行过滤,查询SQL为
sql SELECT username FROM dba_users WHERE ORACLE_MAINTAINED = 'N';
。 - YashanDB系统schema主要来自系统视图的查询结果,SQL为
sql SELECT username FROM dba_users WHERE DATABASE_MAINTAINED= 'N';
。 - DM8系统schema主要有4个:SYS,SYSDBA,SYSSSO,SYSAUDITOR。
- YashanDB评估暂不支持SCHEMA名中含有特殊字符`~!@#$&*();'"<>,/|。
# 高级选项
高级选项受源端数据源类型影响,会根据源端数据源类型而展示不同的选项。
1.源端数据源类型为DM:
数据源为普通用户
VARCHAR长度以字符为单位:可选项,默认值:否。该配置需与源端DM配置一致,可通过
SELECT NAME, VALUE, DESCRIPTION FROM v$parameter WHERE NAME IN ('LENGTH_IN_CHAR')
查询获取,VALUE为0选择【否】,为1选择【是】。- 选择【是】表示VARCHAR长度以字符(CHAR)为单位。
- 选择【否】表示VARCHAR长度以字节(BYTE)为单位。
是否校验失效对象:可选项,默认值:是。
- 选择【是】会评估源端数据库当前状态为invalid状态的对象。
- 选择【否】则不会评估invalid状态的对象。
2.源端数据源类型为Oracle:
是否校验失效对象:可选项,默认值:是。
- 选择【是】会评估源端数据库当前状态为invalid状态的对象。
- 选择【否】则不会评估invalid状态的对象。
是否忽略nologging:可选项,默认值:是。
选择【是】在进行迁移评估时会去除表和索引的nologging关键字。
选择【否】则不做处理。
YashanDB的表和索引如果NOLOGGING状态没有保持统一,则在评估或者迁移的时候会失败,且修改方案均为剔除NOLOGGING关键字,因此用户可以选择是否自动过滤NOLOGGING。
评估库部署模式:可选项,默认值:单机。可选集群,集群模式下带有子分区的表与物化视图将默认评估不兼容。
3.通用高级选项:
- 手动DDL保留策略:
- 全保留:手动改过的DDL都会保留。
- 仅保留未变更:只保留源端DDL没有发生变化的手动修改过的DDL。
- 不保留:手动改过的DDL全不保留。
Note:
- 如果评估库不是内置库,且评估库存在与评估任务选择的schema列表中同名的schema,并且这些schema不是YMP评估任务创建的,则会提示用户是否覆盖。
- Mysql的Event可与同Database下其他对象同名,YashanDB不支持。非同名Event目前兼容率为100%,但是其中对应的YashanDB的Job的PLSQL可能会在该Job执行时失败,因此仍需要用户确认DDL是否符合预期。
# 创建离线评估任务
# 选择评估数据库
- 评估数据库:可选项,默认值:内置库。
# 上传评估文件
评估文件说明:
文件内容建议尽可能以Create和Alter开头,不建议包含Drop、Delete等操作。文件大小不超过200MB,支持上传以下类型的文件:
- 单个.sql文件。
- 单个.xml文件:需为MyBatis支持的Mapper XML格式。且仅当Oracle作为源端时支持xml文件的兼容性评估,当前版本存在以下约束:
- zip或tar压缩方式的压缩文件:只能包含一种支持的文件格式:全是.sql或全是.xml。
Note:
目前表的DDL如果自动兼容,会剔除掉约束和索引信息,后续版本会持续优化。
上传文件后,点击【开始评估】按钮进行评估。若文件比较大,且文件正处于拆分过程中,终止该任务可能较为耗时。
# 操作
# 保存
该操作可保留当前配置,任务列表会保留该任务信息,之后可继续使用,此时任务状态为评估编辑中。
# 下一步:开始迁移评估
开始执行评估任务,此时任务状态为评估中。
# 迁移步骤勾选
在该页面右上角显示已选择的迁移步骤,需注意:只允许增加迁移步骤。