#YMP升级

# 升级说明

升级功能提供YMP旧版本到YMP新版本的升级和正常使用,但是部分功能受限,建议用户首选YMP正常的卸载和重装操作,详见:安装与卸载

支持升级的版本为:(~为包含所有中间版本)

YMP旧版本 YMP新版本 升级限制 解决方案
23.1.1.0 23.2.1.2 升级后评估结果中schema的数据量总和为0 刷新报告或者重新评估
评估结果中衍生对象数、衍生兼容占比、衍生不兼容占比为0 重新评估
只更新新版本YMP中有的配置,文档未提及的配置不升级同步 升级后手动添加
迁移报告无法体现评估时的转换规则 重新评估
如果在升级前,对会产生衍生对象(序列、触发器)的表DDL做过修改保存,
并且升级后,首次重新评估的手动DDL保留策略改为【全保留】,评估后除了多了衍生一个对象以外,表中衍生对象DDL还存在,可能会导致迁移失败
离线迁移时不迁移失败的衍生对象,并不影响迁移结果
23.2.1.2 23.2.1.3 升级后新版本才开始支持角色迁移,迁移配置中的角色初始化信息为空 需手动刷新角色列表
23.2.1.3~ ~23.2.1.5
23.2.1.5 23.2.1.6 升级后校验报告状态会变为生成失败 重新生成校验报告
23.2.1.6~ ~23.2.1.12

Note:

  1. 表格中支持的版本可跨版本升级,跨版本升级的功能限制为各个版本之间的叠加。
  2. 23.2.1.4之前,对于自定义内置库启动 的旧版本YMP,升级前,需手动在自定义的数据库中创建一个YMP_DEFAULT_UPGRADE用户并赋权,密码和旧版本业务用户YMP_DEFAULT保持一致。
  3. 23.2.1.4开始支持多次升级。例如从23.1.1.0升级到23.2.1.2使用一段时间之后再升级到23.2.1.4。
  4. 23.1.1.0作为基线版本进行多次升级时,需在每次升级后手动更换OCI版本(参考更换组件)。

# 环境条件

  • YMP旧版本下的bin/operate.log日志不能清除;
  • 升级前需保证新版本YMP路径下的db与bin/yasldr目录为空;
  • ~/.yasboot目录下需存在升级前版本的ymp.env文件;

# 升级前准备

# 上传新的YMP安装包

# 创建新版本YMP安装地址
$ mkdir /home/ymp/upgrade
# 切换至YMP升级目录并解压
$ cd /home/ymp/upgrade
$ unzip yashan-migrate-platform-x86-64.zip
Copied!

# 备份ymp.env文件

为避免因升级失败后误删备份文件导致旧版本YMP内置库无法拉起,建议在更新操作开始前手动备份~/.yasboot/ymp.env文件。

$ cp ~/.yasboot/ymp.env ~/.yasboot/ymp.env_bak
Copied!

# 停止旧版本YMP

# 切换至旧版本YMP目录并停止
$ cd /home/ymp/yashan-migrate-platform
Copied!

# 旧版本YMP使用默认内置库

# 停止YMP
$ sh bin/ymp.sh stop
# 记录旧版本路径,升级时需要用到
$ pwd
Copied!

# 旧版本YMP使用自定义内置库

# 停止YMP
$ sh bin/ymp.sh stopnodb
# 记录旧版本路径,升级时需要用到
$ pwd
Copied!

Note

仅停止YMP,不可卸载。不能执行uninstall操作,不变动旧版本YMP依赖的安装包。

# 升级YMP

# 切换至新版本YMP目录

# 切换至新版本YMP升级目录
$ cd /home/ymp/upgrade/yashan-migrate-platform
Copied!

# 使用升级指令对YMP进行升级

# 升级前需保证新版本YMP路径下的db与bin/yasldr目录为空
$ sh bin/ymp.sh upgrade --from /home/ymp/yashan-migrate-platform --db /home/ymp/yashandb-23.2.1.0-linux-x86_64.tar.gz --path /home/ymp/instantclient_xxx

# --db与--path参数为可选项,若不指定,则会通过旧版本YMP的operate.log查找旧版本使用的路径自行补全
Copied!

等待升级完成,升级成功后会自动拉起新版本YMP,无需手动启动。

# 升级成功

升级完成后,业务数据会保留在(默认/自定义)内置库用户YMP_DEFAULT_{版本}_{升级时间}下(例如:YMP_DEFAULT_V23214_20240531175950),密码和升级前用户保持一致。
可重启浏览器后正常使用新版本YMP功能。

# 升级失败

如果升级失败,可切换至旧版本YMP路径下,拉起旧版本YMP使用。

# 手动恢复旧版本ymp.env文件,以旧版本为23.1.1.0为例:
$ cp tmp/upgrade/ymp-v23.1.1.0.env ~/.yasboot/ymp.env

# 若tmp/upgrade下备份文件已被删除,则使用手动备份文件进行恢复
$ cp ~/.yasboot/ymp.env_bak ~/.yasboot/ymp.env

# 切换至旧版本YMP目录并启动
$ cd /home/ymp/yashan-migrate-platform
$ sh bin/ymp.sh start或者sh bin/ymp.sh startnodb

Copied!