---
title: "使用 obd 升级 OceanBase 集中式数据库 | OceanBase 文档中心"
description: 使用 obd 升级 OceanBase 集中式数据库 本文介绍如何使用 obd 命令升级 OceanBase 集中式数据库。 升级说明 需要先从 V4.2.5 BP3~BP6 版本升级到 V4.2.5 BP7 版本，然后再升级到 V4.4.2 BP1 版本。 需要先从 V4.3.5 BP3~BP5 版本升级到 V4.…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库集中式版 - V 4.4.2 LTS

# 使用 obd 升级 OceanBase 集中式数据库

更新时间：2026-06-30 19:28:16

[编辑](https://github.com/oceanbase/oceanbase-database-standalone/edit/V4.4.2/zh-CN/450.upgade/100.use-obd-upgade-standalone.md)  

本文介绍如何使用 obd 命令升级 OceanBase 集中式数据库。

## 升级说明

- 需要先从 V4.2.5 BP3~BP6 版本升级到 V4.2.5 BP7 版本，然后再升级到 V4.4.2 BP1 版本。
 - 需要先从 V4.3.5 BP3~BP5 版本升级到 V4.3.5 BP6 版本，然后再升级到 V4.4.2 BP1 版本。
 - V4.2.5 BP7 或者 V4.3.5 BP6 版本可直接升级到 V4.4.2 BP1 版本。

## 前提条件

在开始之前，请确保您已满足以下条件：

- 已经获取升级所需的安装包 `oceanbase-standalone-all-in-one-x.x.x_xxx_xxx_xxxxxxxx.el7.x86_64.tar.gz`。详细信息参见 [准备安装包](https://www.oceanbase.com/docs/common-oceanbase-database-standalone-1000000006076964)。

  #### 注意

  如果是从 V4.2.5 BP3~BP6 或者 V4.3.5 BP3~BP5 版本升级到 V4.4.2 BP1 版本，还需要准备对应的 barrier 版本（V4.2.5 BP7 或者 V4.3.5 BP6）的安装包。
 - 升级时所登录的用户需与部署时所使用的用户一致。
 - 已部署的 OceanBase 集中式版由 obd 管理。

## 操作步骤

1. 使用之前安装 OceanBase 集中式版的用户登录部署机器，并上传、解压最新的 `oceanbase-standalone-all-in-one` 包。解压命令如下：

   #### 注意

   不要和之前部署的目录在一起，避免新旧安装包混合在一起。

   ```shell
   [admin@test001 ~]$ tar -xzf oceanbase-standalone-all-in-one-4.4.2_xxx_xxxxxx.al8.x86_64.tar.gz

   ```
 2. 进入解压后的目录 `oceanbase-standalone-all-in-one`，查看目录文件。

   ```shell
   [admin@test001 oceanbase-standalone-all-in-one]$ cd oceanbase-standalone-all-in-one
   [admin@test001 oceanbase-standalone-all-in-one]$ tree -L 3

   ```

   返回结果如下：

   ```shell
   .
   ├── bin
   │   ├── env.sh
   │   ├── install_obd.sh
   │   ├── install_ob.sh
   │   ├── uninstall_obd.sh
   │   └── upgrade.sh
   ├── obclient
   │   ├── u01
   │   │   └── obclient
   │   └── usr
   │       └── lib
   ├── obd
   │   ├── etc
   │   │   └── profile.d
   │   └── usr
   │       ├── bin
   │       └── obd
   ├── README.md
   ├── rpms
   │   ├── alertmanager-0.28.1-32025073111.al8.x86_64.rpm
   │   ├── grafana-7.5.17-1.al8.x86_64.rpm
   │   ├── libobclient-2.2.10-22025032014.al8.x86_64.rpm
   │   ├── obagent-4.2.4-200000022025090416.al8.x86_64.rpm
   │   ├── obclient-2.2.10-22025032014.al8.x86_64.rpm
   │   ├── ob-deploy-4.3.0-2.al8.x86_64.rpm
   │   ├── oceanbase-diagnostic-tool-3.7.2-12025112717.al8.x86_64.rpm
   │   ├── oceanbase-standalone-4.4.2.1-101000032026041623.al8.x86_64.rpm
   │   ├── oceanbase-standalone-libs-4.4.2.1-101000032026041623.al8.x86_64.rpm
   │   └── prometheus-2.37.1-10000272025073110.al8.x86_64.rpm
   └── VERSION

   13 directories, 17 files

   ```
 3. 升级 obd。

      1. 升级 obd。

        ```shell
        [admin@test001 oceanbase-standalone-all-in-one]$ bash bin/upgrade.sh

        ```

        #### 注意

        执行 `bash bin/uninstall_obd.sh` 不需要加 sudo 。

        在显示的信息内，输入 `y`，即可进行升级。

        ```shell
        Detected sudo privileges.
        Confirm if you want to upgrade oceanbase-all-in-one.  [y/n] y

        ```

        等出现如下信息即表示升级完成。

        ```shell
        Disable remote ok
        Trace ID: 7bd73a1a-0e08-11f0-b275-00163e49899d
        If you want to view detailed obd logs, please run: obd display-trace 7bd73a1a-0e08-11f0-b275-00163e49899d

        add auto set env logic to profile: /root/.bash_profile

        Execute this command to apply the environment config：`source ~/.oceanbase-all-in-one/bin/env.sh`
        Upgrade completed successfully!

        ```
      2. 应用环境配置。

        obd 升级完成后，需要应用环境配置，您可复制并执行 obd 安装完后输出的 `source ~/.oceanbase-all-in-one/bin/env.sh` 命令。

        ```shell
        [admin@test001 oceanbase-standalone-all-in-one]$ source ~/.oceanbase-all-in-one/bin/env.sh

        ```
 4. 把 barrier 版本的 RPM 包复制到本地镜像仓库。

   #### 注意

   此步骤仅为 V4.2.5 BP3~BP6 或者 V4.3.5 BP3~BP5 版本升级到 V4.4.2 BP1 版本时需要。

   解压 barrier 版本的 `oceanbase-standalone-all-in-one` 包，并在对应的 rpms 文件夹下把 barrier 版本的 RPM 包复制到本地镜像仓库。

   ```shell
   [admin@test001 ~]$ tar -xzf oceanbase-standalone-all-in-one-4.2.5_bp7_xxx_xxxxxx.el7.x86_64.tar.gz
   [admin@test001 ~]$ cd oceanbase-standalone-all-in-one/rpms
   [admin@test001 oceanbase-standalone-all-in-one/rpms]$ obd mirror clone oceanbase-standalone-4.2.5.7-xxxxxxxxxxxxxx.al8.x86_64.rpm

   ```
 5. 获取需要用到的参数。

   ```shell
   [admin@test001 oceanbase-standalone-all-in-one]$ obd mirror list local

   ```

   返回结果如下：

   ```shell
   +------------------------------------------------------------------------------------------------------------------+
   |                                                local Package List                                                |
   +---------------------------+---------+------------------------+--------+------------------------------------------+
   | name                      | version | release                | arch   | md5                                      |
   +---------------------------+---------+------------------------+--------+------------------------------------------+
   | obagent                   | 4.2.2   | 1xxxxxxxxxxxxxxxx0.el7 | x86_64 | 19xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx554e |
   | ob-deploy                 | 3.3.0   | 3.el7                  | x86_64 | 11xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx00af |
   | oceanbase-diagnostic-tool | 3.2.0   | 5xxxxxxxxx1.el7        | x86_64 | 78xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe163 |
   | oceanbase-standalone      | 4.2.5.4 | 1xxxxxxxxxxxxxx212.el7 | x86_64 | 20xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8a6e |
   | oceanbase-standalone-libs | 4.2.5.4 | 1xxxxxxxxxxxxxx212.el7 | x86_64 | e5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe0c2 |
   | prometheus                | 2.37.1  | 1xxxxxxxxxxxxxx11.el7  | x86_64 | 58xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxf263 |
   | alertmanager              | 0.28.1  | 3xxxxxxxx11.al8        | x86_64 | d4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxce60 |
   | grafana                   | 7.5.17  | 1                      | x86_64 | 1bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe0d6 |
   | libobclient               | 2.2.10  | 2xxxxxxxxx4.al8        | x86_64 | 83xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1536 |
   | obagent                   | 4.2.4   | 2xxxxxxxxxxxxxxx16.al8 | x86_64 | edxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxda3c |
   | obclient                  | 2.2.10  | 2xxxxxxxx14.al8        | x86_64 | f5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaf34 |
   | ob-deploy                 | 4.3.0   | 2.al8                  | x86_64 | 82xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx5d0a |
   | oceanbase-diagnostic-tool | 3.7.2   | 1xxxxxxxxx7.al8        | x86_64 | ecxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdcf0 |
   | oceanbase-standalone      | 4.4.2.1 | 1xxxxxxxxxxxxxx623.al8 | x86_64 | 15xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx302a |
   | oceanbase-standalone-libs | 4.4.2.1 | 1xxxxxxxxxxxxxx623.al8 | x86_64 | 2bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3c16 |
   | prometheus                | 2.37.1  | 1xxxxxxxxxxxxxx10.al8  | x86_64 | 63xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx201a |
   | oceanbase-standalone      | 4.2.5.7 | 1xxxxxxxxxxxxxx320.al8 | x86_64 | 2axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx97b8 |
   +---------------------------+---------+------------------------+--------+------------------------------------------+

   ```

   根据返回的结果，找到正确的目标升级版本，获取相应的参数。在本示例中，以升级到 V4.4.2 BP1 版本为例，对应的参数如下。

      - name (-c)：oceanbase-standalone
      - version (-V)：4.4.2.1
      - md5 (--usable)：15xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx302a
 6. 获取之前部署的 OceanBase 集群名。

   ```shell
   [admin@test001 oceanbase-standalone-all-in-one]$ obd cluster list

   ```

   返回结果如下：

   ```shell
   +--------------------------------------------------------------+
   |                         Cluster List                         |
   +------------+-------------------------------+-----------------+
   | Name       | Configuration Path            | Status (Cached) |
   +------------+-------------------------------+-----------------+
   | standalone | /xxxx/.obd/cluster/standalone | running         |
   +------------+-------------------------------+-----------------+

   ```

   根据返回的结果，找到已经部署的 OceanBase 集群名 name：standalone。
 7. 对 OceanBase 数据库进行合并操作。

   使用 root 用户登录到数据库的 sys 租户，执行如下命令进行合并操作。

   ```shell
   obclient [oceanbase]> ALTER SYSTEM MAJOR FREEZE TENANT = all_user;

   ```

   执行如下命令查看是否合并完成。

   ```shell
   obclient [oceanbase]> SELECT * FROM oceanbase.CDB_OB_ZONE_MAJOR_COMPACTION;

   ```

   如果查询的结果中 STATUS 为 IDLE 表示合并结束。
 8. 升级集中式版 OceanBase。

   升级命令如下。

   ```shell
   obd cluster upgrade <deploy name> -c <component name> -V <version> [tags]

   ```

   其中：

      - `<deploy name>`：为部署名。本示例中部署的集群名为 standalone。
      - `-c <component name>`：需要升级的组件名。OceanBase 集中式版对应的组件名为 oceanbase-standalone。
      - `-V <version>`：需要升级的组件的目标版本号。本示例中为 4.4.2.1。
      - `--usable`：升级中使用的镜像 hash 列表，用 , 间隔。本示例中为 15xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx302a。

   关于 obd cluster upgrade 命令的详细介绍，参见 [集群命令组](https://www.oceanbase.com/docs/community-obd-cn-1000000003146401#11-title-obd%20cluster%20upgrade)。

   示例如下：

   ```shell
   [admin@test001 oceanbase-standalone-all-in-one]$ obd cluster upgrade standalone -c oceanbase-standalone -V 4.4.2.1 --usable=15xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx302a

   ```

   等待其执行中出现如下内容，输入 `y` 后，等待命令自动执行完成 。

   ```shell
   If you use a non-official release, we cannot guarantee a successful upgrade or technical support when you fail. Make sure that you want to use the above package to upgrade. [y/n]:

   ```
 9. 验证是否升级成功。

   使用 root 用户登录 OceanBase 数据库的 sys 租户，执行如下命令查看数据库版本。

   ```shell
   obclient [oceanbase]> SELECT version();

   ```

   此命令输出的数据库版本为升级后的版本，则表示升级成功。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
