通过obd升级OceanBase数据库

通过obd升级OceanBase数据库

obd支持升级企业版和社区版OceanBase集群。

  • 当前版本:V4.3.5 BP3
  • 目标版本:V4.3.5 BP4

备份数据库

建议升级前前对数据库做一次备份。

bash 复制代码
./obdumper -h 127.0.0.1 -P 2881 -u root -p ****** -t 租户名 -D 数据库名 --ddl --all -f /obdata/backup/DB_NAME/ddl_data
./obdumper -h 127.0.0.1 -P 2881 -u root -p ****** -t 租户名 -D 数据库名 --csv --table '*' -f /obdata/backup/DB_NAME/csv_data

升级数据库

obd升级OceanBase数据库支持在线升级和离线升级两种方式。在线升级要求服务器可以连通公网或者镜像仓库中有用于更新的OceanBase数据库的RPM包。

⚠️ 待升级集群租户存在备租户的情况下,需先升级备租户 所在集群,或执行switchover进行主备切换。

下面以离线升级为例进行演示。

  1. 配置RPM包。将下载好的安装包加入到本地镜像仓库中。
bash 复制代码
obd mirror clone -f oceanbase-4.3.5.4-xxxxxx.el7.x86_64.rpm
  1. 关闭远程镜像仓库。
bash 复制代码
obd mirror disable remote
  1. 查询本地镜像仓库中OceanBase数据库版本。
bash 复制代码
obd mirror list local | grep oceanbase-ce

最后一列字符串即为OceanBase对应版本的Hash值。

  1. 如果升级目标版本为V4.0.xV4.1.xV4.2.0 BETA版本时,需要执行当前步骤。否则忽略当前步骤。

使用root用户登录到数据库的sys租户,执行如下命令查看primary_zone配置。

sql 复制代码
select * from __all_tenant;

输出中需关注除sys租户外其他租户对应primary_zone列的值是否为RANDOM

如果是RANDOM,则需执行如下命令为租户中的Zone配置不同的优先级。

sql 复制代码
ALTER TENANT 租户名 primary_zone='zone1';
  1. 对OceanBase数据库进行合并操作。
sql 复制代码
ALTER SYSTEM MAJOR FREEZE;

检查合并是否完成:

sql 复制代码
select name,value from oceanbase.__all_zone where name='frozen_version' or name='last_merged_version';

SELECT * FROM oceanbase.CDB_OB_MAJOR_COMPACTION\G
  1. 合并完成后,执行如下命令升级OceanBase数据库。升级时不能停库。
bash 复制代码
# 查看deply_name
obd cluster list

# 升级数据库
# obd cluster upgrade <deploy name> -c <component name> -V <version> [tags]
obd cluster upgrade obcluster -c oceanbase -V 4.3.5.4 -v

升级后验证

命令查看数据库版本:

sql 复制代码
select version();

查看集群状态:

bash 复制代码
obd cluster list
obd cluster display <deploy name>

References

【1】https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016131

【2】https://www.oceanbase.com/docs/common-obd-cn-1000000003415263#11-title-obd cluster upgrade

相关推荐
赵渝强老师1 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石6 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_1 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐5 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端