「Dashboard 测评」OceanBase Dashboard:轻量化运维新范式,打造高效管控体验
个人简介 作者: ShunWah
公众号: "顺华星辰运维栈"主理人。
持有认证: OceanBase OBCA/OBCP、MySQL OCP、OpenGauss、崖山 DBCA、亚信 AntDBCA、翰高 HDCA、GBase 8a | 8c | 8s、Galaxybase GBCA、Neo4j Graph Data Science Certification、NebulaGraph NGCI & NGCP、东方通 TongTech TCPE 等多项权威认证。
获奖经历: 崖山YashanDB YVP成员,墨天轮MVP,担任OceanBase社区版主及布道师。曾在OceanBase&墨天轮征文大赛、OpenGauss、TiDB、YashanDB、Kingbase、KWDB、Navicat Premium × 金仓数据库征文等赛事中多次斩获一、二、三等奖,原创技术文章常年被墨天轮、CSDN、ITPUB 等平台首页推荐。
公众号_ID:顺华星辰运维栈
CSDN_ID: shunwahma
墨天轮_ID:shunwah
ITPUB_ID: shunwah
OB社区_ID:shunwah

前言:数据库运维的轻量化革命
在当今云原生和分布式数据库蓬勃发展的时代,OceanBase 作为一款领先的分布式关系数据库,因其高性能和高可用特性而在金融、电商等关键业务场景中广受青睐。然而,分布式架构的复杂性也带来了运维管理上的新挑战。
传统的 OceanBase Cloud Platform (OCP) 虽然功能全面,但在资源占用、部署复杂度和学习成本方面的门槛,对于中小规模集群或社区用户而言,显得有些繁重。在此背景下,OceanBase 推出了 obshell Dashboard—— 一款内置于 obshell 的轻量化 Web 管控工具。它凭借免部署、低开销、易上手的特点,旨在为单机或小规模集群场景提供一种更敏捷的运维选择。
本文将基于已部署的 OceanBase 4.3.5.3 环境,对 obshell Dashboard 进行一次深度实战测评。通过核心功能演示、混合运维(白屏+命令行)实践以及对未来优化的思考,全面剖析其如何重塑 OceanBase 的运维新范式。
一、obshell Dashboard 初探:轻量背后的核心价值
1.1 定位与优势:为何选择它?
obshell Dashboard 的核心定位是 OceanBase 的轻量级可视化管控平台,专为单机或小规模集群环境设计。与 OCP 相比,其优势非常突出:
•部署简单,开箱即用:它随 OceanBase 数据库一起发布,无需独立部署。通过 OBD 或 OCP 工具部署 OceanBase 集群时,obshell 进程会被默认拉起。我们只需通过浏览器访问对应节点的服务端口(如 http://节点IP:2886)即可开始管理集群,实现了真正的免安装管控。
•资源占用极低:得益于 Go 语言的高效特性,obshell Dashboard 在运行时仅需百兆左右的内存,这对于资源有限的开发、测试或个人学习环境至关重要。
•开源开放:OB-Dashboard 基于 obshell,源代码 100% 开源,这为社区开发者提供了极大的透明度和定制空间。
1.2 环境确认与登录
在开始体验前,我们首先通过 OBD 命令确认集群及 Dashboard 状态:
[root@worker3 ob_upgrade]# obd cluster display ob_single_cli
Get local repositories and plugins ok
Open ssh connection ok
Connect to observer 127.0.0.1:2881 ok
Wait for observer init ok
+------------------------------------------------+
| oceanbase-ce |
+--------------+---------+------+-------+--------+
| ip | version | port | zone | status |
+--------------+---------+------+-------+--------+
| 127.0.0.1 | 4.3.5.4 | 2881 | zone1 | ACTIVE |
+--------------+---------+------+-------+--------+
obclient -h127.0.0.1 -P2881 -uroot@sys -p'Gtn9nynB6vUILgfrDDRS' -Doceanbase -A
cluster unique id: 69b71630-3cec-5aa0-a90f-da065deae710-19989f84cc5-04050304
Connect to Obagent ok
+-----------------------------------------------------------------+
| obagent |
+--------------+--------------------+--------------------+--------+
| ip | mgragent_http_port | monagent_http_port | status |
+--------------+--------------------+--------------------+--------+
| 127.0.0.1 | 8089 | 8088 | active |
+--------------+--------------------+--------------------+--------+
Connect to Prometheus ok
+-----------------------------------------------------------+
| prometheus |
+---------------------------+-------+--------------+--------+
| url | user | password | status |
+---------------------------+-------+--------------+--------+
| http://127.0.0.1:19090 | admin | '8jFSaDZ65Z' | active |
+---------------------------+-------+--------------+--------+
Connect to grafana ok
+----------------------------------------------------------------------+
| grafana |
+---------------------------------------+-------+-------------+--------+
| url | user | password | status |
+---------------------------------------+-------+-------------+--------+
| http://127.0.0.1:13000/d/oceanbase | admin | 'oceanbase' | active |
+---------------------------------------+-------+-------------+--------+
obshell program health check ok
display ob-dashboard ok
+-------------------------------------------------------------------+
| ob-dashboard |
+--------------------------+------+------------------------+--------+
| url | user | password | status |
+--------------------------+------+------------------------+--------+
| http://127.0.0.1:2886 | root | 'Gtn9nynB6vUILgfrDDRS' | active |
+--------------------------+------+------------------------+--------+
Trace ID: 58b9b7ea-b85a-11f0-ae54-0050568197df
If you want to view detailed obd logs, please run: obd display-trace 58b9b7ea-b85a-11f0-ae54-0050568197df
[root@worker3 ob_upgrade]#
输出信息中清晰地显示了 ob-dashboard 的访问地址、用户名和状态,确认服务运行正常。

使用浏览器访问该地址,输入 root 用户密码(若密码为空可直接点击登录),我们便进入了 Dashboard 的主界面。
obshell 自 V4.3.0.0 起支持通过图形化界面交互式管理集群,在成功安装 obshell 后,使用 obshell 节点 IP 和 obshell 端口即可访问 obshell Dashboard(obshell 交互式管理页面)。访问时默认使用 sys 租户下的 root 用户登录,密码为部署 OceanBase 集群时设置的 root@sys 用户密码,若 root@sys 密码为空,可直接单击 登录 按钮登陆。

192.168.2.131:2886/login?callback=%2F

登录 obshell Dashboard 控制台后,光标悬停在页面右上角 用户 图标处,单击出现的 退出登录,在弹出的窗口单击 确定 即可退出登录。
1.3 版本信息查看
登录 obshell Dashboard 控制台后,单击页面右上角 帮助 > 关于 obshell Dashboard,即可查看 obshell Dashboard 的版本。

二、核心功能实战体验:从集群到租户的精细化管理
2.1 集群总览与基本信息
登录 obshell Dashboard 后,系统默认进入 集群管理 页面。集群管理页面展示了当前登录用户下的集群概览信息,包括:集群已分配资源、OBServer 统计、租户统计、租户合并时间 Top3、租户资源使用 Top3 和 拓扑结构。同时支持进行参数管理、启停集群、升级集群版本和 升级 obshell 操作。
集群已分配资源
集群区域展示了集群的运行状态以及集群 CPU、内存和磁盘的已分配给租户的百分比情况,将光标悬停于资源柱状图部分会展示详细的分配情况。当光标悬停于模块右上角 ··· 时,可查看集群名称和部署模式信息。
OBServer 统计
您可在 OBServer 统计模块查看集群中 OBServer 节点的运行状态,方便您及时对状态异常的 OBServer 节点进行运维管理。
租户统计
您可在租户统计模块查看集群中租户的运行状态,方便您及时对状态异常的租户进行运维管理。单击运行状态后方的数字,页面将跳转至 租户管理 页面。
租户合并时间 Top3
租户合并时间 Top3 区域展示了按最近一次合并时间进行排序的 3 个租户。合并操作(Major freeze)是将动静态数据做归并,会比较费时。当转储产生的增量数据积累到一定程度时,通过合并操作实现大版本的合并。
租户资源使用 Top3
为您展示 CPU 消耗比、内存消耗比 和 数据量 前 3 的 OceanBase 租户数据。
拓扑结构
您可在拓扑结构区域中查看集群下 Zone 的名称、所属 Region、OBServer 数量、Root Server 和状态。单击 Zone 名称前的展开,可查看该 Zone 下的 OBServer 详情,包括 OBServer IP、SQL 端口、RPC 端口、硬件架构、资源水位 和 状态;单击 状态 后的 筛选 图标,可按照 Zone 的状态筛选 Zone。

2.2 参数动态调整
Dashboard 提供了直观的参数管理界面,用户可以搜索参数并对其进行修改,无需通过命令行操作。

实操示例:调整内存参数

1.点击"参数管理"按钮进入集群参数管理页面
2.搜索关键字 “memory”
3.将 memory_limit 参数的值从 20G 修改为 22G
4.生效范围选择"集群"

- 点击确定,确认修改信息后完成修改

修改后可以通过以下 SQL 验证修改结果:
-- 查看内存参数修改结果
SELECT name, value FROM oceanbase.__all_virtual_sys_parameter_stat
WHERE name LIKE '%memory%';
mysql> SELECT name, value FROM oceanbase.__all_virtual_sys_parameter_stat
-> WHERE name LIKE '%memory%';
+----------------------------------------+------------+
| name | value |
+----------------------------------------+------------+
| _schema_memory_recycle_interval | 15m |
| _ignore_system_memory_over_limit_error | False |
| __easy_memory_reserved_percentage | 0 |
| __easy_memory_limit | 4G |
| __min_full_resource_pool_memory | 2147483648 |
| _hidden_sys_tenant_memory | 0M |
| memory_chunk_cache_size | 0M |
| memory_limit_percentage | 80 |
| system_memory | 0M |
| memory_limit | 22G |
| memory_reserved | 500M |
| query_memory_limit_percentage | 50 |
| vector_index_memory_saving_mode | True |
| ob_vector_memory_limit_percentage | 0 |
| _multimodel_memory_trace_level | 0 |
| _pipelined_table_function_memory_limit | 524288000 |
| _ss_micro_cache_memory_percentage | 20 |
| rpc_memory_limit_percentage | 0 |
| _storage_meta_memory_limit_percentage | 20 |
| _mds_memory_limit_percentage | 10 |
| _tx_data_memory_limit_percentage | 20 |
| _tx_share_memory_limit_percentage | 0 |
| _ctx_memory_limit | |
+----------------------------------------+------------+
23 rows in set (0.00 sec)
mysql>

回到首页,查看集群的资源信息可以看到内存总量已经变成 22G(计算方式是 memory_limit - system_memory)。
2.3 集群启停与升级
启停集群
在左侧导航栏中单击 集群管理 进入 集群管理 页面。单击页面右上角 停止集群 按钮,在弹出的窗口中单击 停止,obshell Dashboard 将提交停止集群的任务并展示任务 ID,您可单击展示的 ID 查看任务执行情况。

注意 停止集群会导致集群中所有的服务被终止,请谨慎操作。

单击页面右上角 启动集群 按钮,在弹出的窗口中单击 启动 将提交启动集群的任务并展示任务 ID,您可单击展示的 ID 查看任务执行情况。

版本升级
Dashboard 支持对 OceanBase 集群和 obshell 自身进行升级。
在集群管理页面,点击 … 并选择 升级版本 或 升级 obshell。
在升级界面,需要选择升级方式(推荐不影响业务的滚动升级)和目标版本的软件包。
确认信息后,升级任务同样会进入任务中心,可全程监控升级流程。
注意:升级前需确保已在 软件包管理 中上传了目标版本的软件包。
2.4 租户管理:全生命周期管控
租户是一个逻辑概念,在 OceanBase 里是资源分配的单位,是数据库对象管理和资源管理的基础。登录 obshell Dashboard 后,在左侧导航栏中单击 租户管理 可以进入 租户管理 页面,页面默认展示集群所有租户列表信息。此页面支持查看所有租户的基础信息,以及 新建租户。
租户列表
租户列表中展示租户的 租户名、租户模式、连接字符串、是否 只读、是否 锁定、状态、创建时间 等信息,以及可执行的 操作。

新建租户
单击页面右上角 新建租户,可进入到 新建租户 页面。新建租户需设置 基础信息、Zone 信息、安全设置 以及 参数设置。
基础信息部分用于设置租户模式、名称、密码等信息:
| 参数 | 说明 |
|---|---|
| 租户模式 | 可通过下拉框中选择租户模式。目前仅支持通过 obshell Dashboard 创建 MySQL 模式租户。 |
| 租户名称 | 设置待新建租户的租户名。长度为 2 ~ 32 个字符,可包含大小写英文字母、数字和下划线,但需以英文字母开头,并以英文或数字结尾。 |
| 管理员初始密码 | 可单击随机生成,由 obshell Dashboard 自动生成随机字符串,也可自定义设置。密码长度为 8 ~ 32 个字符,至少包含数字、大写字母、小写字母和特殊字符各 2 个。 |
| 字符集 | 默认为 utf8mb4,可通过下拉框中选择其他字符集。 |
| Collation | 可通过下拉框中选择合适的 Collation。 |
| 备注 | 租户的说明,便于更好地管理租户。 |
Zone 信息部分用于设置各 Zone 的 Unit 数量、Zone 的副本类型、Unit 规格和 Zone 优先级排序。
安全设置部分用于设置 IP 地址白名单,支持自定义设置可访问 IP,或设置为所有 IP 都可访问。

2.5 数据库与用户管理
数据库管理
在左侧导航栏中单击 租户管理,在 租户管理 页面单击 租户列表 中租户名,进入对应租户 总览 页面后单击左侧导航栏 数据库管理,即可进入 数据库管理 页面。

新建数据库 单击 数据库管理 页面右上角 新建数据库 按钮,在 新建数据库 页面中配置 数据库名、字符集、Collation 以及是否只读。设置完成后单击 提交 即完成新建。

修改数据库 单击 操作 列下的 编辑 字段即可修改对应数据库的 字符集、Collation 和是否只读。修改内容后单击 提交 即可完成对数据库的修改。

删除数据库 单击 操作 列下的 删除 字段,在弹出的窗口输入栏中输入 delete 后单击 删除 按钮即可删除对应数据库。

用户管理
在左侧导航栏中单击 租户管理,在 租户管理 页面单击 租户列表 中租户名,进入对应租户 总览 页面后单击左侧导航栏 用户管理,即可进入 用户管理 页面。

新建用户 单击 用户管理 页面右上角 新建用户 按钮,在 新建数据库用户 页面中配置 用户名、密码、全局权限 和 数据库权限。设置完成后单击 提交 即完成新建。
锁定用户 可通过 锁定 列下的开关图标控制是否锁定用户,当用户处于未锁定状态时,单击 开关,在弹出的窗口中单击 确定 即可锁定当前用户,被锁定的用户将不允许登录,请谨慎操作。当用户被锁定时,单击 开关,在弹出的窗口中单击 确定 即可解锁当前用户,解锁用户将允许其登录。

修改权限 单击 操作 列下的 修改权限 字段可修改对应用户的全局权限和数据库权限。

删除用户 单击 操作 列下的 删除 字段,在弹出的窗口输入栏中输入 delete 后单击 删除 按钮即可删除对应用户。删除用户将删除该用户下所有对象和数据,请谨慎操作。

2.6 软件包管理与版本升级
软件包管理
单击左侧导航栏 系统管理 > 软件包管理 进入 软件包 页面。本文介绍如何通过 obshell Dashboard 查看或上传软件包。

查看软件包 在软件包页面展示了 obshell Dashboard 中已上传的软件包的 软件包名、版本、硬件架构、大小(MB)、MD5 和 上传时间。
您可通过 版本 和 硬件架构 后的 筛选 图标按照软件包的版本和硬件架构筛选查看软件包,也可通过 软件包名 和 上传时间 后的 排序 图标选择是否按照升序或降序排列软件包。若已上传的软件包过多,可通过页面左上角搜索框搜索是否存在指定软件包。

上传软件包 单击 软件包 页面右上角 上传软件包 按钮,单击 选择软件包 从本地上传安装包。

版本升级实践
升级前状态: 已安装版本:4.3.1.0-12025070719 硬件架构:x86_64

升级完成:

升级后验证: 已安装版本:4.3.2.1-12025101110 硬件架构:x86_64

2.7 任务中心:运维操作的指挥中枢
登录 obshell Dashboard 控制台后,单击页面右上角 任务 字段即可进入 任务中心。您可在 任务中心 查看 obshell Dashboard 中的所有任务。

您可通过任务状态筛选任务,或通过搜索框查看指定任务,单击对应任务名即可查看任务详情。

三、混合运维实践:白屏与黑屏的完美共舞
一个优秀的运维工具不应是孤岛。obshell Dashboard 与 obshell 命令行工具形成了 “白屏+黑屏” 的混合运维模式,两者共享同一套元数据,实现了无缝切换与互补。
3.1 obshell 环境准备与版本升级
在实际运维中,保持工具的最新版本对于获得最佳性能和功能体验至关重要。以下是 obshell 4.3.2.1 的完整安装和升级过程。
环境检查与准备
首先检查当前 obshell 版本状态:
[root@worker3 ob4-3]# obshell --version
bash: obshell: command not found...
[root@worker3 ob4-3]#

结果显示 obshell 命令不可用,需要进行安装配置。
下载最新版 obshell
通过官方镜像源下载最新版 obshell 安装包,采用离线安装方式避免网络波动影响:
# 创建下载目录并进入
mkdir -p /opt/ob_upgrade && cd /opt/ob_upgrade
[root@worker3 ob4-3]# mkdir -p /opt/ob_upgrade && cd /opt/ob_upgrade
[root@worker3 ob_upgrade]#

从官方镜像源下载 obshell 4.3.2.1 安装包:
[root@worker3 ob_upgrade]# wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/obshell-4.3.2.1-12025101110.el7.x86_64.rpm
--2025-11-01 14:39:48-- https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/obshell-4.3.2.1-12025101110.el7.x86_64.rpm
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 182.40.124.116, 150.139.156.105, 182.40.124.113, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|182.40.124.116|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14022576 (13M) [application/x-rpm]
Saving to: ‘obshell-4.3.2.1-12025101110.el7.x86_64.rpm’
100%[====================================================>] 14,022,576 35.5KB/s in 6m 55s
2025-11-01 14:46:42 (33.0 KB/s) - ‘obshell-4.3.2.1-12025101110.el7.x86_64.rpm’ saved [14022576/14022576]
[root@worker3 ob_upgrade]#
安装 obshell
执行 RPM 包安装:
# 1. 安装 obshell RPM 包
rpm -ivh obshell-4.3.2.1-12025101110.el7.x86_64.rpm
[root@worker3 ob_upgrade]# ls
obshell-4.3.2.1-12025101110.el7.x86_64.rpm
[root@worker3 ob_upgrade]# rpm -ivh obshell-4.3.2.1-12025101110.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:obshell-4.3.2.1-12025101110.el7 ################################# [100%]

验证安装与路径配置
安装完成后验证 obshell 是否可用:
[root@worker3 ob_upgrade]# which obshell
/usr/bin/which: no obshell in (/root/.tiup/bin:/usr/local/go/bin:/root/.tiup/bin:/soft/tongweb8//bin:/usr/local/cmake/bin:/usr/local/maven/apache-maven-3.8.4/bin:/root/softl/gcc-9.3.0/bin:/bin:/opt/jdk1.8.0_201/bin:/opt/jdk1.8.0_201/jre/bin:/usr/local/maven/apache-maven-3.8.4/bin:/usr/local/maven/apache-maven-3.8.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/jdk1.8.0_201/bin:/usr/local/nginx/sbin:/root/bin:/usr/local/maven/apache-maven-3.8.4/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/bin:/opt/jdk/bin:/usr/local/go/bin:/root/bin)
[root@worker3 ob_upgrade]#

发现 obshell 已安装但不在系统 PATH 中,需要查找其安装位置:
[root@worker3 ob_upgrade]# rpm -ql obshell
/home/admin/oceanbase/bin
/home/admin/oceanbase/bin/obshell
[root@worker3 ob_upgrade]#

进一步确认 obshell 可执行文件位置:
[root@worker3 ob_upgrade]# find /home/admin -name "obshell" -type f 2>/dev/null
/home/admin/.obd/repository/oceanbase-ce/4.3.5.3/8120a146d35cd47a9289d91990c8b44a8c21675d/bin/obshell
/home/admin/oceanbase/bin/obshell
[root@worker3 ob_upgrade]#

创建符号链接到系统 PATH 中:
# 创建符号链接到 /usr/local/bin/(推荐)
[root@worker3 ob_upgrade]# ln -sf /home/admin/oceanbase/bin/obshell /usr/local/bin/obshell
[root@worker3 ob_upgrade]#

最终验证
验证 obshell 安装成功:
[root@worker3 ob_upgrade]# which obshell
/usr/local/bin/obshell
[root@worker3 ob_upgrade]# obshell --version
OBShell 4.3.2.1 (for OceanBase_CE)
REVISION: 12025101110-fd1d0b713b8a771ce61ab719cbca8a175bb03176
BUILD_BRANCH: HEAD
BUILD_TIME: Oct 11 2025 10:22:43 UTC
BUILD_FLAGS: release
BUILD_INFO:
Copyright (c) 2011-present OceanBase Inc.
[root@worker3 ob_upgrade]#

验证符号链接:
[root@worker3 ob_upgrade]# ls -la /usr/local/bin/obshell
lrwxrwxrwx 1 root root 33 Nov 1 15:55 /usr/local/bin/obshell -> /home/admin/oceanbase/bin/obshell
[root@worker3 ob_upgrade]# file /usr/local/bin/obshell
/usr/local/bin/obshell: symbolic link to `/home/admin/oceanbase/bin/obshell'
[root@worker3 ob_upgrade]#

检查 Dashboard 服务状态:
[root@worker3 ob4-3]# netstat -tulnp | grep 2886
tcp6 0 0 :::2886 :::* LISTEN 76261/obshell
[root@worker3 ob4-3]#

至此,obshell 4.3.2.1 版本已成功安装并配置完成,为后续的混合运维实践奠定了坚实基础。
3.2 场景:检查并终止异常会话
现在我们已经完成了 obshell 环境的准备工作,可以开始真正的混合运维实践。以下是一个典型的运维场景:检查并终止异常会话。
步骤1:创建测试会话
首先创建一个长时间运行的会话来模拟异常情况:
SELECT SLEEP(300);
步骤2:查询活跃会话
通过命令行查询当前活跃会话:
mysql> SELECT id, user, host, command, time, info
-> FROM information_schema.processlist
-> WHERE command != 'Sleep'
-> ORDER BY time DESC;
+------------+------+-----------------+---------+------+----------------------------------------------------------------------------------------------------------------------------------------------------+
| id | user | host | command | time | info |
+------------+------+-----------------+---------+------+----------------------------------------------------------------------------------------------------------------------------------------------------+
| 3221536497 | root | 127.0.0.1:52190 | Query | 10 | SELECT SLEEP(300) |
| 3221687419 | root | 127.0.0.1:41868 | Query | 0 | SELECT id, user, host, command, time, info
FROM information_schema.processlist
WHERE command != 'Sleep'
ORDER BY time DESC |
+------------+------+-----------------+---------+------+----------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.01 sec)
mysql>

步骤3:终止目标会话
针对获取的会话ID执行KILL命令:
mysql> KILL 3221536497;
Query OK, 0 rows affected (0.04 sec)
mysql>

步骤4:验证会话已被终止
重新查询确认会话已被成功移除:
mysql> SELECT id, user, host, command, time
-> FROM information_schema.processlist
-> WHERE id = 3221536497;
Empty set (0.01 sec)
mysql>

3.3 场景:集群备份的自动化与监控
在实际生产环境中,数据库备份是确保数据安全的关键环节。obshell Dashboard 与命令行工具的结合,为备份操作提供了完整的自动化与监控解决方案。
增量备份操作
执行增量备份是日常运维中的常见需求,通过 obshell 命令行工具可以轻松实现:
[root@worker3 ob_upgrade]# /root/ob_single_cli/oceanbase_name/bin/obshell cluster backup -u "file:///data/backup/ob_backup" -m incremental -e "Gtn9nynB6vUILgfrDDRS" -b Mandatory -y
Please confirm if you need to back up with the specified configuration [Y/N]: Y (auto confirm)
Task 'Set obcluster backup config' has been created successfully.
You can view the task details by '/root/ob_single_cli/oceanbase_name/bin/obshell task show -i 14 -d'.
[SUCCEED] Check backup config [1/2]
[SUCCEED] Set backup config [2/2]
[SUCCEED] Congratulations! RUN 'Set obcluster backup config' task completed successfully.
Task 'Obcluster start increment backup' has been created successfully.
You can view the task details by '/root/ob_single_cli/oceanbase_name/bin/obshell task show -i 15 -d'.
[SUCCEED] Check destination [1/4]
[SUCCEED] Open archive log [2/4]
[SUCCEED] Start backup [3/4]
[SUCCEED] Wait backup Finish [4/4]
[SUCCEED] Congratulations! RUN 'Obcluster start increment backup' task completed successfully.
[root@worker3 ob_upgrade]#

参数说明:
•-u "file:///data/backup/ob_backup": 指定备份路径,使用 file:// 协议
•-m incremental: 设置备份模式为增量备份
•-e "Gtn9nynB6vUILgfrDDRS": 设置备份加密密码
•-b Mandatory: 设置备份优先模式为归档优先
•-y: 自动确认,避免交互式提示
备份验证与监控
备份操作完成后,通过多种方式进行验证,确保备份的完整性和可用性。
查看备份任务详情:
通过 obshell 命令行工具可以查看备份任务的详细执行情况:
[root@worker3 ob_upgrade]# /root/ob_single_cli/oceanbase_name/bin/obshell task show -i 13 -d
Check and start obshell daemon
Get task 13 detail
id: 13
dag_id: 3
name: Obcluster start full backup
stage: 4
max_stage: 4
state: SUCCEED
略...
[root@worker3 ob_upgrade]#

从任务详情可以看到备份过程的四个关键阶段:
1.检查目的地:验证备份路径的可用性
2.开启归档日志:确保日志归档功能正常启动
3.开始备份:正式启动备份任务
4.等待备份完成:监控备份进度直至完成
检查物理备份文件:
通过文件系统层面验证备份文件的生成情况:
[root@worker3 ob_upgrade]# ls -la /data/backup/ob_backup/
total 0
drwxr-xr-x 3 admin admin 24 Nov 3 14:44 .
drwxr-xr-x 5 root root 71 Nov 3 14:44 ..
drwxr-xr-x 3 root root 18 Nov 3 14:44 1758956342
[root@worker3 ob_upgrade]#
进一步查看备份文件的详细内容:
[root@worker3 ob_upgrade]# find /data/backup/ob_backup/ -type f | head -20
/data/backup/ob_backup/1758956342/1002/clog/check_file/1002_connect_file_20251103T144438.obbak
/data/backup/ob_backup/1758956342/1002/clog/format.obbak
略...
[root@worker3 ob_upgrade]#

从文件列表可以看到,备份包含了:
•clog 目录:存储日志归档文件
•data 目录:存储数据备份文件
•backup_sets:备份集信息文件
•各种 .obbak 和 .obarc 文件:实际的备份数据文件
通过这种"白屏+黑屏"的混合运维模式,运维人员可以根据实际情况选择最合适的工具,既可以利用命令行的灵活性进行深度诊断和自动化,也可以借助 Dashboard 的直观性进行安全、便捷的操作和状态监控,真正做到 1+1>2 的运维效果。
命令行工具提供了自动化能力,可以将备份操作集成到脚本中实现定时执行;而 Dashboard 则提供了可视化监控,让运维人员能够实时了解备份进度和状态。两者结合,为 OceanBase 数据库的备份恢复提供了完整的解决方案。
四、深度优化建议
基于对 Dashboard 的全面体验,以下从多个维度提出优化建议,以进一步提升其产品力。
4.1 用户体验优化
•界面交互改进:当前界面虽然简洁,但可以增加更多可视化元素。例如,在资源使用情况展示中,可以引入趋势图表,帮助用户预测资源增长趋势并及时扩容。
•操作流程简化:对于常用操作如集群启停,可以增加二次确认机制防止误操作,同时提供操作回退功能,确保操作安全。
•个性化设置:允许用户自定义仪表盘布局和显示内容,满足不同角色的运维需求。例如,DBA 可能更关注性能指标,而开发人员更关注数据库连接和慢查询。
4.2 功能增强建议
•SQL 性能分析:集成 SQL 审核和优化建议功能,自动识别慢查询并提供索引优化建议。
-- 示例:查找执行时间最长的 SQL
SELECT sql_id, elapsed_time, execute_time, query_sql
FROM oceanbase.__all_virtual_sql_audit
ORDER BY elapsed_time DESC
LIMIT 10;
mysql> SELECT sql_id, elapsed_time, execute_time, query_sql
-> FROM oceanbase.__all_virtual_sql_audit
-> ORDER BY elapsed_time DESC
-> LIMIT 10;
+----------------------------------+--------------+--------------+----------------------------------------------------------------------------------+
| sql_id | elapsed_time | execute_time | query_sql |
+----------------------------------+--------------+--------------+----------------------------------------------------------------------------------+
| 12187F85A6BD8EF50FEC603CD410338A | 9903816 | 9898772 | select /*+ MONITOR_AGENT 略... |
+----------------------------------+--------------+--------------+----------------------------------------------------------------------------------+
10 rows in set (0.30 sec)
mysql>

•容量规划预测:基于历史数据增长趋势,预测未来存储和计算资源需求,提前发出扩容预警。
•一键诊断报告:整合 OceanBase 常见的运维问题,提供一键生成集群健康报告的功能,包括配置检查、性能瓶颈识别和安全评估。
4.3 技术架构拓展
•多集群管理:当前 Dashboard 主要针对单集群管理,未来可以扩展支持多集群统一管理,满足企业级用户的多集群运维需求。
•API 开放程度:增强 REST API 的覆盖范围,允许第三方工具通过 API 获取集群状态和执行运维操作,促进生态集成。
•插件机制:引入插件化架构,允许用户自定义开发功能模块,增强平台的可扩展性。
4.4 运维场景适配
•中小集群优化:针对中小规模集群的特点,提供预设的配置模板,如开发环境、测试环境、生产环境等不同场景的优化配置。
•应急响应机制:增强故障自愈能力,例如在节点故障时自动切换备节点,并提供详细的操作记录和通知。
•混合运维支持:强化白屏(Dashboard)和黑屏(obshell命令行)的统一体验,确保两种操作方式的数据同步和操作一致性。
总结
OceanBase Dashboard 作为一款轻量级的可视化运维工具,有效解决了 OCP 在中小规模场景下的资源占用高、部署复杂的问题。通过实战体验,它在集群管理、参数调整、监控告警等核心功能上表现稳定,且界面简洁易用,大大降低了 OceanBase 的运维门槛。
对于正在考虑使用 OceanBase 的团队,特别是中小规模部署和开发测试环境,Dashboard 提供了一个轻量且功能完备的运维解决方案,值得尝试和使用。通过参与此次测评活动,不仅能够深入了解 OceanBase 的运维特性,还能为产品的改进贡献宝贵意见,共同推动国产数据库运维工具的发展与完善。
作者注: ——本文所有操作及测试均基于 OceanBase 的 Dashboard obshell 4.3.2.1 版本完成。请注意,OceanBase 和 obshell 4.3.2.1 版本处于持续迭代中,部分语法或功能可能随更新发生变化,请以 OceanBase 官方文档 最新内容为准。
——以上仅为个人思考与建议,不代表行业普适观点。以上所有操作均需在具备足够权限的环境下执行,涉及生产环境时请提前做好备份与测试。文中案例与思路仅供参考,若与实际情况巧合,纯属无意。期待与各位从业者共同探讨更多可能!