首批通过分布式安全可靠测评,为关键业务系统打造
升级概述
更新时间:2025-03-28 10:36:28
OceanBase 集群支持通过使用升级脚本进行集群升级。整个升级过程对应用无感知,应用无需配合服务端做任何的停写停服务操作。OceanBase 集群会按照 Zone 的顺序进行升级。升级过程中,分区 Leader 会在各个 Zone 间进行切主动作,并将要进行升级 Zone 的业务引流到其他 Zone 上执行。
本文档主要讲述 OceanBase 数据库升级限制、升级注意事项和升级路径等信息。
注意
OceanBase 集群暂不支持 V4.0.0 之前的版本原地升级到 V4.x 版本。
升级限制
OceanBase 集群升级时,有如下限制:
- 禁止 DDL:升级过程中的部分阶段需要禁止 DDL,升级完成后会自动打开。
- 禁止
major freeze:部分版本之间的升级会禁止合并,升级完成后会自动打开。 - 禁止迁移复制和负载均衡:部分版本之间的升级会禁止迁移复制和负载均衡。
- 禁止物理备份恢复:集群升级过程中不会发起物理基线备份(日志归档不断)、物理恢复。
- 禁止新建租户。
注意
如果 OceanBase 集群关联了仲裁服务,那么在进行 OceanBase 集群版本升级时,需要确保先升级仲裁服务版本,然后再升级 OceanBase 集群版本。仲裁服务版本升级的详细信息,请参见 升级仲裁服务。
可以使用系统租户查询视图 oceanbase.DBA_OB_ARBITRATION_SERVICE 检查本 OceanBase 集群是否关联仲裁服务。
注意事项
OceanBase 集群升级时,需要注意以下几点:
OceanBase V4.0 版升级至 V4.1 版本的过程中会停日志归档。
升级过程如果需要
ADD SERVER/DELETE SERVER操作,请联系技术人员支持。OceanBase 过渡版本不可以直接升级,需要参考
oceanbase_upgrade_dep.yml文件中的升级版本序列。升级脚本需要直连 Root Service 服务所在的 observer 进程执行,不能通过 OceanBase 数据库代理(OceanBase Database Proxy,简称:ODP) 连接。
升级过程中可能会涉及下列参数的变化,升级前需要对这些参数进行备份:
从 V4.2.2 版本开始,OceanBase 数据库不再支持使用 zlib_1.0 压缩算法。在升级过程中,会进行以下前置检查:
- 在升级过程中,不再支持使用
zlib压缩算法作为log_transport_compress_func参数。请使用其他压缩算法替代zlib压缩算法。 - 在升级过程中,如果发现某些表使用了
zlib压缩算法,请将这些表中的压缩算法替换为其他支持的压缩算法,或者在升级期间不使用压缩。 - 在升级过程中,不允许使用
zlib作为 Table API 连接的压缩算法。请通过设置table_api_transport_compress_func参数来选择其他的压缩算法。
- 在升级过程中,不再支持使用
升级流程
OceanBase V4.x 升级时执行的升级脚本仅依赖本次目标版本 RPM 包的相关 Python 脚本。即目标版本是 V4.1.0 及以后的版本时,只有一套升级流程,且仅需要目标版本的 OceanBase RPM 包。解压 OceanBase RPM 包可以获取 oceanbase_upgrade_dep.yml 文件,该文件记录了 OceanBase 的版本升级拓扑图。
确认升级流程的详细信息,请参见 升级 OceanBase 集群 中的 步骤二:确认升级流程 章节。
升级说明
- 支持 OceanBase 数据库 V4.2.1 BP2 及之前的 V4.x 版本通过有效升级路径在线升级到 OceanBase 数据库 V4.2.4 版本;V4.2.1 BP3 及之后的 BP 版本不再支持升级到 V4.2.4 版本。
- 支持 OceanBase 数据库 V4.2.3 升级到 V4.2.4 版本。
- 集群 Tablet 比较多的情况下,升级过程中 OBServer 重启会比较耗时。Tablet 达到 300 万级别时,重启时长预计会达到 20 分钟。
- V4.2.1 及 V4.2.2 系列升级到 V4.2.4 时,如果
_nlj_batching_enabled配置项处于开启状态,升级前需要关闭,升级完成后可打开。 - 升级期间,系统会自动禁用合并和 DDL 操作,升级完成后恢复正常使用。
后续操作
相关文档
有关使用 OceanBase 云平台(OceanBase Cloud Platform,简称 OCP)升级 OceanBase 集群的操作方法,请参见 升级版本。