首批通过分布式安全可靠测评,为关键业务系统打造
升级概述
更新时间:2025-03-28 10:36:11
OceanBase 集群支持通过使用升级脚本进行集群升级。整个升级过程对应用无感知,应用无需配合服务端做任何的停写停服务操作。OceanBase 集群会按照 Zone 的顺序进行升级。升级过程中,分区 Leader 会在各个 Zone 间进行切主动作,并将要进行升级 Zone 的业务引流到其他 Zone 上执行。
本文档主要讲述 OceanBase 数据库升级限制、升级注意事项和升级路径等信息。
注意
OceanBase 数据库暂不支持 V4.2.x 系列或更低版本升级到 V4.3.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.3.0 Beta 版本开始,OceanBase 数据库不再支持使用 zlib_1.0 压缩算法。在升级过程中,会进行以下前置检查:
- 在升级过程中,不再支持使用
zlib压缩算法作为log_transport_compress_func参数。请使用其他压缩算法替代zlib压缩算法。 - 在升级过程中,如果发现某些表使用了
zlib压缩算法,请将这些表中的压缩算法替换为其他支持的压缩算法,或者在升级期间不使用压缩。 - 在升级过程中,不允许使用
zlib作为 OBKV-Table 连接的压缩算法。请通过设置tableapi_transport_compress_func参数来选择其他的压缩算法。
- 在升级过程中,不再支持使用
在 ARM 架构和不支持 AVX2(Advanced Vector Extensions 2) 指令集的 x86 机型集群内,如果存在使用过列存表时(存在使用列存表或列存表修改为行存表的场景),不能从 V4.3 的低版本(V4.3.0、V4.3.1 和 V4.3.2)升级到 V4.3.3 及往后的版本,以防止升级后出现数据正确性风险。
当有 V4.3 的低版本集群升级到 V4.3.3 及往后的版本集群时,对于备租户,低版本集群无法解析高版本集群生成的日志,此时会在备租户提交日志时报错(仅报错,对应日志不会持久化)。恢复数据的详细信息,参见 恢复前准备。
升级流程
OceanBase V4.x 升级时执行的升级脚本仅依赖本次目标版本 RPM 包的相关 Python 脚本。即目标版本是 V4.1.0 及以后的版本时,只有一套升级流程,且仅需要目标版本的 OceanBase RPM 包。解压 OceanBase RPM 包可以获取 oceanbase_upgrade_dep.yml 文件,该文件记录了 OceanBase 的版本升级拓扑图。
确认升级流程的详细信息,请参见 升级 OceanBase 集群 中的 步骤二:确认升级流程 章节。
升级说明
- 支持 V4.3.0 Beta 及其后 BP 版本、V4.3.1 Beta 及其后 BP 版本、V4.3.2 Beta Hotfix1 及其后 BP 版本、V4.3.3 GA 及其后 BP 版本,平滑升级到 V4.3.4 。
- 暂不支持 V4.2.x 系列或更低版本升级到 V4.3.4 GA,随着版本演进,后续会增加 V4.2.x 到 V4.3.x 升级路径支持。
- 要升级到 4.3.4 的集群,升级前要等待所有增量旁路导入任务完成,升级期间不要发起新的增量旁路导入,升级脚本已经增加检查。
- 自 V4.3.2 重构了多源数据的持久化格式,升级过程中需要对新旧多源数据格式进行转换,在分区数较多时需要预留相对充足的升级时间。
- V4.3.4
DBMS_SCHEDULER调度服务拆分到租户,为了避免版本升级时,新旧调度线程同时存在,让同一个 job 被重复调度 。设置了新调度线程满足(version >= 4340)时才会开始调度,因此在版本升级时存在一个很短的调度真空期。
后续操作
相关文档
有关使用 OceanBase 云平台(OceanBase Cloud Platform,简称 OCP)升级 OceanBase 集群的操作方法,请参见 升级版本。