首批通过分布式安全可靠测评,为关键业务系统打造
OMS 社区版热升级
更新时间:2026-05-07 14:17:15
本文为您介绍如何在不影响数据迁移、数据同步任务运行的情况下对 OceanBase 迁移服务(OceanBase Migration Service,OMS)社区版进行热升级。
使用限制
OMS 社区版的版本必须大于等于 V4.2.1。
热升级之前和热升级过程中,请确保 OMS 社区版中没有正在新建的任务。
热升级成功之后,刷新浏览器或删除数据后,才能显示热升级后版本的功能。删除数据的操作请参见《常见问题》模块的内容。
热升级成功之后,新建数据迁移或数据同步任务,才会有热升级后版本的功能。
已经存在的任务在热升级之后保持原样,特别是热升级后版本新增的配置在已有的旧版本任务中不会存在。
热升级成功之后进行正向切换时,选择增量启动位点无效。该功能为 OMS 社区版 V4.2.11-CE 新增功能,新建数据迁移任务才会支持。
操作步骤
登录安装 OMS 社区版的宿主机。
执行下述命令,获取新镜像中的热升级脚本。
注意
在获取热升级脚本前,请确保您已加载新镜像的 OMS_IMAGE。
sudo docker run -d --net host --name oms-config-tool ${OMS_IMAGE} bash \ && sudo docker cp oms-config-tool:/root/docker_dump_file_from_image.sh . \ && sudo docker cp oms-config-tool:/root/docker_copy_dumpfile_to_container.sh . \ && sudo docker cp oms-config-tool:/root/docker_copy_dumpfile_rollback.sh . \ && sudo docker rm -f oms-config-tool多节点升级场景下,如果您开启了 HA 功能,请先关闭 HA。详情请参见 修改高可用功能的配置。
备份 OMS 社区版的数据库元数据。
mysqldump -hxxx.xxx.xxx.1 -P<port> -u<username> -p<password> --triggers=false rm_4211 > /home/admin/rm_4211.sql mysqldump -hxxx.xxx.xxx.1 -P<port> -u<username> -p<password> --triggers=false cm_4211 > /home/admin/cm_4211.sql mysqldump -hxxx.xxx.xxx.1 -P<port> -u<username> -p<password> --triggers=false cm_hb_4211 > /home/admin/cm_hb_4211.sql备份参数说明
参数 描述 -h 需要导出的主机信息。 -P 连接数据库的端口号。 -u 指定连接的用户名。 -p 连接数据库的密码。 --triggers 导出触发器,默认为 false(不导出)。 rm_4211、cm_4211、cm_hb_4211 此处为备份 rm、cm 和 cm_hb 库为 SQL 文件,格式为 库名 > 存储 SQL 文件的路径.sql,请替换为实际环境中的值。复制新镜像文件到宿主机目录。
sh docker_dump_file_from_image.sh ${OMS_IMAGE}进入 OMS 社区版容器,暂停管控服务。
supervisorctl stop nginx oms_console oms_drc_cm oms_drc_supervisor sshd复制新镜像文件到 OMS 社区版容器。
sh docker_copy_dumpfile_to_container.sh ${OMS 社区版容器名称}执行热升级脚本
sh /root/docker_hot_update_init.sh。sudo docker exec -it ${OMS 社区版容器名称} /root/docker_hot_update_init.sh如果热升级脚本执行失败,可以使用
docker_copy_dumpfile_rollback.sh进行回滚,命令如下。注意
仅 1~7 步执行成功,第 8 步热升级脚本执行失败时,才可以使用该脚本进行回滚。否则,回滚脚本会因为没有备份文件导致清空原始文件。
sh docker_copy_dumpfile_rollback.sh ${OMS 社区版容器名称} /home/admin/logs/backup2025xxxx sudo docker exec -it ${OMS 社区版容器名称} /root/docker_init.sh说明
/home/admin/logs/backup2025xxxx是指docker_copy_dumpfile_rollback.sh在更新之前备份容器中旧版本 OMS 社区版相关信息的目录,默认目录/home/admin/logs下以backup作为前缀的文件。
常见问题
访问 OMS 社区版失败
问题描述
热升级成功之后,访问 OMS 社区版可能出现以下两种问题。
出现
HTTP Status 500 – Internal Server Error报错。
未显示登录用户名称。

解决方法
进入网站设置页面。

单击删除数据。

OMS 社区版 V4.2.1-CE 热升级至 V4.2.13-CE
从 OMS 社区版 V4.2.1-CE 热升级至 V4.2.13-CE 之前,如果存在新建任务的 OceanBase Store 组件未启动或失败的情况,升级成功之后,OceanBase Store 参数中需要新增 drc_frame.dbversion 来表示 OceanBase 数据库的版本号。