首批通过分布式安全可靠测评,为关键业务系统打造
delete server 中 server 已经没有 unit 信息但是 RS 还是认为有 unit 存在的原因和解决方法
更新时间:2026-07-02 15:41
问题现象
在云上 OceanBase 集群中执行 alter system delete server 命令后,查询 DBA_OB_SERVERS 视图时发现目标服务器的状态长时间停留在 DELETING 状态,未能成功删除。
关键信息
日志显示有 unit 资源无法删除。
查看
gv$ob_units表发现并没有 unit 在这上面。没有做过非标操作,例如删除内部表内容。
问题原因
此问题是由于 OceanBase 内核的一个 BUG 导致,在 RS(Root Service)切换后,unit 内部表可能没有被正确加载到内存中,因此在尝试删除服务器时,系统错误地认为该服务器上仍有 unit 资源存在,从而阻止了删除操作的完成。
问题的风险及影响
无法成功删除服务器。
内存中维护的 unit 信息不准确,可能导致后续操作异常。
适用版本
OceanBase 数据库 V4.x 版本。
解决方法
执行 alter system reload unit 命令,以重新加载 unit 内部表到内存中,从而允许删除操作继续进行。
规避方式
在执行
alter system delete server之前,确保执行alter system reload unit命令,以避免因 unit 内部表未正确加载而导致的删除失败问题。注意监控 RS 切换的情况,尤其是在计划进行服务器删除操作前,确保 unit 资源已被正确加载。