首批通过分布式安全可靠测评,为关键业务系统打造
升级 OceanBase 数据库
更新时间:2026-04-10 11:58:35
本文介绍如何通过 obshell-sdk-go 升级 OceanBase 数据库。
说明
建议先查看 obshell-sdk-go 快速上手 内容,了解如何使用 obshell-sdk-go。
注意事项
请确保 obshell 正常运行。
请确保请求的 client 对应的节点在待升级的集群中。
示例代码
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
"github.com/oceanbase/obshell-sdk-go/services/v1"
)
func main() {
// 创建 client 实例,节点地址为 '10.10.10.1',端口为 2886。
// 所在集群的 root@sys 密码为 '****'。
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "***")
if err != nil {
panic(err)
}
// 升级 OceanBase 数据库。
req := client.V1().NewUpgradeObRequest("4.2.2.0", "xxx.el7", v1.PARAM_ROLLING_UPGRADE)
if _, err = client.V1().UpgradeObSyncWithRequest(req); err != nil {
panic(err)
}
}
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
"github.com/oceanbase/obshell-sdk-go/services/v1"
)
func main() {
// 创建 client 实例,节点地址为 '10.10.10.1',端口为 2886。
// 所在集群的 root@sys 密码为 '****'。
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "***")
if err != nil {
panic(err)
}
// 升级 OceanBase 数据库。
req := client.V1().NewUpgradeObRequest("4.2.2.0", "xxx.el7", v1.PARAM_ROLLING_UPGRADE)
dag, err := client.V1().UpgradeObWithRequest(req)
if err != nil {
panic(err)
}
// 等待任务成功
if _, err = client.V1().WaitDagSucceed(dag.GenericID); err != nil {
panic(err)
}
}
相关文档
升级 OceanBase 数据库的 API 接口说明可参见 升级 OceanBase 数据库。
通过 obshell-sdk-python 请求 API 方法的介绍可参见 升级 OceanBase 数据库。