OceanBase
  • 产品
  • 解决方案
  • 客户
  • 合作伙伴
  • 资源与服务
  • 文档
  • 社区
云控制台登录 / 注册
  • 免费试用
OceanBase AI 数据平台

基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。

一体化能力

TP 事务处理

关键业务稳定运行,保障数据零丢失

AP 实时分析

事务分析一体,驱动智能决策与运营

AI 现代负载

统一多模态数据,支撑生产级应用

关键产品
OceanBase 分布式数据库

首批通过安全可靠测评,面向关键业务

OceanBase 集中式数据库

集中式架构,兼具性能与成本优势

OceanBase Lakebase

湖库一体的 AI 数据引擎

OceanBase DataStudio

统一的数据开发治理平台

OceanBase DataPilot

企业级 AI 数据分析 Agent

OB Cloud

一体化云数据库,提供多云一致体验

OceanBase 数据库一体机

软硬一体,极致性能与高可靠性保障

OceanBase AI 一体机

开箱即用的 AI 数据库一体机

OMA 迁移评估工具

全链路数据库迁移评估

OMS 数据迁移工具

一站式数据传输与同步

OCP 运维管理工具

数据库全生命周期管理

ODC 开发者工具

数据库开发与管控协同

OAS 自治服务工具

数据库智能诊断与自治

通用场景
全场景业务系统 OLTP
实时分析混合负载
异地多活
多基础设施部署
一站式传统数据库升级
混合云部署
一库多芯软硬件混合部署
分布式数据库单机部署
大存储类数据库降本
冷数据归档降本
多实例资源整合
分库分表一体化升级
高并发场景
数据中台
行业解决方案
国有大行和股份制银行核心系统解决方案
区域性银行核心系统解决方案
寿险核心系统解决方案
产险核心系统解决方案
资管交易类系统解决方案
资管 TA 清算类系统解决方案
运营商核心系统解决方案
人社核心系统解决方案
电力核心系统解决方案
行业专区
银行专区

助力银行完成各类核心业务系统升级

保险专区

寿险、产险核心系统升级的更佳选择

零售专区

助力200+零售行业客户规模化落地

DB 大咖说
oceanbase爱奇艺

百亿级卡券业务的“单库双擎”架构升级

oceanbase四川银行

800个测试用例选定分布式数据库

oceanbase太平洋保险

先难后易,核心系统数据库升级复盘

行业案例
oceanbase交通银行

核心数据库的“分布式革命”

oceanbase中国移动

B域核心CRM&BOSS近乎零改造分布式升级

oceanbase理想

打造领先的智能制造系统和自动驾驶体验

演讲实录
oceanbase中国联通

集团应用分布式数据库覆盖B/O/M域

oceanbase国泰海通

智能推送系统稳定支撑单日亿级消息处理量

oceanbase中国联合航空

中国首款机票盲盒背后的数据库力量

用户实践
oceanbase北京银行

最快速度完成40余套系统国产数据库升级

oceanbaseVIVO

替换 MySQL 分库分表,探索成本效益最优

oceanbase滴滴

数据库大规模运维体系建设及落地实践

合作伙伴
合作伙伴类型
联合解决方案
产业生态伙伴
经销商伙伴
技术服务伙伴
培训认证伙伴
生态联合解决方案
神州信息 x OceanBase 银行核心系统
长亮科技 x OceanBase 新核心系统
中电金信 x OceanBase 金融分布式核心系统
天阳科技 x OceanBase 贷记卡方案
易诚互动 x OceanBase 手机银行方案
恒生 x OceanBase UF3.0/O45/TA/估值方案
商业发行版
云树®数据库软件 ActionDB
服务
支持与服务
提交工单
软件下载
OceanBase 企业版
OceanBase 社区版
OB Cloud
学习
培训与认证
在线课堂
在线体验
开发者
开发者中心
资料
行业报告与白皮书
官方博客
年度发布会资料
开发者大会资料
oceanbase白皮书

金融核心系统数据库升级路径与场景实践

oceanbase白皮书

人社关键业务数据库一体化升级实践

产品文档
oceanbaseOceanBase 数据库
驱动和中间件
oceanbaseOB Cloud 云数据库
工具与组件
oceanbaseOceanBase 数据库一体机
快速上手
OceanBase 数据库
OB Cloud 云数据库
知识库
汇聚常见产品使用问题案例
在线体验

Demo与实验,感受 OceanBase 的核心能力与应用场景

OceanBase 最佳实践
了解 OceanBase 分布式数据库的架构与系统原理
技术博客

技术解析 | 用户实践 | 社区月报

在线课堂

电子书 |视频课程|在线培训

Developer Hub
应用开发Demo | 数据开发与集成工具
问答论坛

快速答疑 | 常见问题 | 技术交流

社区活动

Meetup | 技术公开课

GitHub

查看源码 | 贡献代码 | 建议反馈

加入社区

社区组织 | 社区用户贡献 |开发者贡献

进入社区首页
oceanbase数据库大赛

第六届OceanBase数据库大赛

oceanbase免费课程
从故障处理到性能调优:OceanBase资深DBA进阶培训
切换语言
  • 中文站 - 简体中文
  • International - English
  • 日本站 - 日本語
文档反馈
  1. 文档中心
  2. OceanBase 数据库社区版
  3. 分布式版
  4. V3.1.3
  5. 使用指南
  6. 集群和多租户管理
  7. 管理集群
  8. 管理 OBServer
  9. 停止或启动 OBServer
分布式版-V3.1.3社区版
  • 文档概览
  • 使用指南
    • 数据库简介
    • 快速入门
    • 安装部署
    • 数据迁移
    • 数据库连接和路由
    • 集群和多租户管理
      • 管理集群
        • 新建集群
        • 管理集群
        • 管理集群参数
        • 管理集群中的 Zone
        • 管理 OBServer
          • 添加 OBServer
          • 查看 OBServer 状态
          • 停止或启动 OBServer
          • 重启 OBServer
          • 隔离故障的 OBServer
          • 删除 OBServer
          • 替换 OBServer
        • 查看集群拓扑图
        • 集群租户管理概览
        • 集群性能监控
        • 查看集群的资源信息
      • 配置管理
      • 管理资源
      • 管理租户
      • 管理数据存储
      • 管理内存
      • 管理日志
      • 管理进程
    • 数据库对象管理
    • 分布式存储管理
    • 性能调优
    • 数据高可用
    • 运维管理
    • 参考指南
  • 开发者指南
  • 系统架构
  • 版本发布记录
  • 生态工具
  • 术语
  1. 文档中心
  2. OceanBase 数据库社区版
  3. 分布式版
  4. V3.1.3
  5. 使用指南
  6. 集群和多租户管理
  7. 管理集群
  8. 管理 OBServer
  9. 停止或启动 OBServer

停止或启动 OBServer

更新时间:2023-08-07 17:30:43

github-fill编辑
编组分享

您可以根据数据库的运行情况,启动或停止 OBServer 的运行。

通过 SQL 语句停止 OBServer

停止 OBServer 主要包含以下 2 个 操作:

  • 停止节点服务,即 Stop Server 操作

  • 停止 observer 进程

停止节点服务

您可以通过对 OBServer 执行 Stop Server 操作来停止节点服务。Stop Server 操作的目的是将该 OBServer 上的分区 Leader 切到其他节点。当该 OBServer 上没有分区 Leader 的情况下,系统将内部标记 OBServer 为 stopped 状态,客户端请求不会再次发送到该 OBServer,该 OBServer 也不会再对外提供服务。

关于 OBServer 状态的更多说明请参见 查看 OBServer 状态。

Stop Server 操作通常是特殊运维操作时执行,例如机器硬件维修、替换和升级,或者对该 Server 进行诊断等而进行的动作。

Stop Server 操作的语句如下:

obclient> ALTER SYSTEM STOP SERVER 'ip:port' [,'ip:port'...] [ZONE='zone'];

该语句仅支持在 sys 租户中执行。

在执行 Stop Server 操作前,需要确认以下信息:

  • enable_auto_leader_switch 参数已设置为开启状态,即 enable_auto_leader_switch 的值为 True。

    enable_auto_leader_switch 参数的更多说明请参见 enable_auto_leader_switch。

  • 分区副本满足多数派。

此外,执行 Stop Server 操作时,还需要注意以下事项:

  • 不能跨 Zone 执行 Stop Server 操作,同一个 Zone 可以同时 Stop 多个 Server。

  • 一个 Stop 操作发起没有结束前,不能发起第二个操作。

  • 如果分区数多,或者被 Stop Server 的节点分区的 Leader 数量多, Stop Server 操作时间会比较长,如果超时,可以加大 SQL 超时时间。

    SQL 超时时间可通过租户变量 ob_query_timeout 来设置,该变量的默认值为 10000000,单位为微秒,具体设置方法可参见 设置变量。

    更多变量 ob_query_timeout 的介绍信息请参见 ob_query_timeout。

  • 如果命令很快执行失败,那么可能是日志不同步,需要检查 __all_rootservice_event_history 表,确认是否有 Stop Server 的记录。如果没有记录,则说明在 RS 没执行 Stop Server 操作前就失败了;如果有记录,则说明是日志不同步导致 Stop Server 操作执行失败。

    查询示例如下:

    obclient> SELECT rs_svr_ip FROM oceanbase.__all_rootservice_event_history WHERE event='stop_server';
    +----------------+
    | rs_svr_ip      |
    +----------------+
    | xxx.xx.xxx.xx5 |
    | xxx.xx.xxx.xx5 |
    +----------------+
    2 rows in set
    
  • 执行 Stop Server 操作后,__all_server 内部表中该 Server 的 status 字段仍为 Active 不变,但 stop_time 字段的值由 0 变为 Stop Server 的时间点,同时 OBServer 处于 stopped 状态。

    更多 OBServer 状态的介绍和查看相关操作请参见 查看 OBServer 状态。

示例:

  1. 使用 root 用户登录数据库的 sys 租户。

  2. 执行以下 SQL 语句,停止节点服务。

    obclient> ALTER SYSTEM STOP SERVER "10.10.10.1:2882" zone='z1';
    

    停止节点服务后,如果该节点上有主副本,则系统会自动切换为备副本,且节点的备副本依然可以参与投票,但不会当选为主副本。节点服务停止与 OBServer 宕机性质不同,节点停止服务的时间可以超出配置项 server_permanent_offline_time 指定的永久下线时间且不会导致节点真的下线。

    说明

    配置项 server_permanent_offline_time 用于设置节点心跳中断的时间阈值,即节点心跳中断多久后认为其被永久下线,永久下线的节点上的数据副本需要被自动补足。

停止 observer 进程

  1. 登录 OBServer 所在的机器。

  2. 通过命令行工具进入 /home/admin/oceanbase/bin 目录。

  3. 运行以下命令,停止 observer 进程。

    kill `pidof observer`
    
  4. 运行以下命令,确认进程是否已停止。

    ps -ef | grep observer | grep -v grep
    

    如果命令执行后没有返回信息,则表示进程停止成功。

通过 OCP 停止 OBServer

您可以通过 OCP 停止 OBServer,OCP 上停止 OBServer 的操作包含了 ALTER SYSTEM STOP SERVER 操作和停止该 observer 进程的操作。

前提条件

  • 待操作的集群可以在当前 OCP 中进行管理。

    如果该集群未加入到 OCP 中进行管理,请联系管理员将待操作的集群接管到当前 OCP 中,具体操作方法请参见 OCP 对应版本的《用户指南》文档中的 接管集群 。

  • 停止 OBServer 前,请确认当前登录用户已具备集群的管理权限。

    如果当前用户没有集群管理的权限,请联系管理员为您添加相应权限的角色,具体操作方法请参见 OCP 对应版本的《用户指南》文档中的 编辑用户 。

  • 可选)如果您希望在停止 OBServer 时不影响业务的运行,则需要保证待停止的 OBServer 所在 Zone 内还有其他 OBServer,且资源充足,以保证在停止 OBServer 时,该 OBServer 上的 Unit 会自动切换到其他 OBServer,从而不影响业务的运行。

操作步骤

  1. 登录 OCP。

    默认进入 集群概览 页面。

  2. 在该页面的 集群列表 中单击集群名,进入 总览 页面。

  3. 在 OBServer 列表 部分,单击需要停止的 OBServer 操作列的 停止 。

    09161854

  4. 在弹出框 停止 ,停止 OBServer。

    您可通过弹出框中的 查看任务 按钮,查看停止进度。

    您也可在 系统管理 > 任务 中查看该任务的进度。

    当该任务状态为 完成 ,且集群 总览 页的 OBServer 列表 中该 OBServer 的状态为 已停止 时,则停止成功。

通过 SQL 语句启动 OBServer

启动 OBServer 主要包含以下 2 个操作:

  • 启动 observer 进程

  • 启动节点服务,即 Start Server 操作

启动 observer 进程

某些特殊情况下,您可以通过命令启动 observer 进程。

  1. 登录 OBServer 所在的机器。

  2. 通过命令行工具进入 /home/admin/oceanbase/bin 目录。

  3. 运行以下命令,启动 observer 进程。

    cd /home/admin/oceanbase/
    
    ./bin/observer [启动参数]
    

    通常仅在第一次启动时,需要添加启动参数,其他时候启动时,可直接使用 ./bin/observer 命令启动 observer 进程。同时,您还可以运行 ./bin/observer --help 查看 observer 启动参数的详细信息。

    第一次启动 observer 进程的命令示例如下:

    cd /home/admin/oceanbase/bin
    
    ./observer -p 2881 -P 2882 -z 'zone_1' -d '/data/1/prod_data/' -r '10.10.10.1:2882:2881;10.10.10.2:2882:2881;10.10.10.3:2882:2881' -l WARN -d '/data/1/prod_data' -o 'memory_limit=100GB,datafile_disk_percentage=85'
    

    其中:

    • 2881:表示 MySQL 的访问端口。

    • 2882:表示远程访问端口。

    • zone_1:表示 Zone 名称。

    • /data/1/prod_data:表示数据盘目录。

    • datafile_disk_percentage=85:表示数据盘的占用比率为 85%。

    • 10.10.10.1 和 10.10.10.2 和 10.10.10.3:表示 RootServer 列表。

    • memory_limit=100GB:表示进程启动内存上限为 100 GB。

    • WARN:表示日志级别为 WARNING 级别。

    • 使用 -o 参数时,需满足以下条件:

      • 不分大小写,但是推荐按照 observer.config.bin 中的变量名称来写。

      • 参数不能包含以下特殊字符:空格、\r、\n、\t

      • 参数名和参数值中间必须有等号(=)。

      • 参数之间使用逗号(,)进行分割。

  4. 进程启动后,5~10 秒钟后,执行以下命令,确认进程是否启动成功。

    1. 执行以下命令,确认进程是否已存在。

      示例如下:

      [root@xx oceanbase]#ps -ef | grep observer | grep -v grep
      root       6136      0 99 11:23 ?        00:00:19 ./bin/observer
      

      示例中,命令执行后有返回信息,表示进程已启动成功。如果命令执行后没有返回信息,则表示进程未启动成功。

    2. 执行以下命令,确认端口监听是否成功。

      示例如下:

      [root@xxx oceanbase]#netstat -ntlp | grep `pidof observer`
      tcp        0      0 0.0.0.0:2881            0.0.0.0:*               LISTEN      6136/./bin/observer
      tcp        0      0 0.0.0.0:2882            0.0.0.0:*               LISTEN      6136/./bin/observer
      

      示例中,6136/./bin/observer 中的 6136 表示 observer 的进程 ID,从执行结果可知,端口监听成功。

启动节点服务

一般情况下,您可以通过 Start Server 操作来启动节点服务。Start Server 操作对应 Stop Server 操作。集群中的 OBServer 启动后,通常默认状态为 started。如果执行过 Stop Server 操作,则需要通过 Start Server 操作将 Server 状态置为 started。

启动节点服务的语句如下:

obclient> ALTER SYSTEM START SERVER 'ip:port' [,'ip:port'...] [ZONE='zone'];

该语句仅支持在 sys 租户中执行。

示例:

  1. 使用 root用户登录数据库的 sys 租户。

  2. 执行以下 SQL 语句,启动节点服务。

    obclient> ALTER SYSTEM START SERVER "10.10.10.1:2882";
    
  3. 执行以下 SQL 语句,查看节点服务是否已经正常。

    示例如下:

    obclient> SELECT a.zone, concat(a.svr_ip,':', a.svr_port) observer, cpu_total, (cpu_total-cpu_assigned) cpu_free, round(mem_total/1024/1024/1024) mem_total_gb, round((mem_total-mem_assigned)/1024/1024/1024) mem_free_gb, usec_to_time(b.last_offline_time) last_offline_time, usec_to_time(b.start_service_time) start_service_time, b.status, usec_to_time(b.stop_time) stop_time, b.build_version 
    FROM oceanbase.__all_virtual_server_stat a join oceanbase.__all_server b on (a.svr_ip=b.svr_ip and a.svr_port=b.svr_port)
    ORDER BY a.zone, a.svr_ip\G
    *************************** 1. row ***************************
                  zone: zone1
              observer: 10.10.10.2:2882
             cpu_total: 62
              cpu_free: 55
          mem_total_gb: 50
           mem_free_gb: 20
     last_offline_time: 1970-01-01 08:00:00.000000
    start_service_time: 2021-12-03 09:54:53.237400
                status: active
             stop_time: 1970-01-01 08:00:00.000000
         build_version: 3.2.1_20211031212624-2c7eade2fd94a4ae32bec1683d1118da9d30cf8b(Oct 31 2021 22:03:03)
    *************************** 2. row ***************************
                  zone: zone2
              observer: 10.10.10.1:2882
             cpu_total: 62
              cpu_free: 55
          mem_total_gb: 50
           mem_free_gb: 20
     last_offline_time: 1970-01-01 08:00:00.000000
    start_service_time: 2021-12-08 11:24:05.281388
                status: active
             stop_time: 1970-01-01 08:00:00.000000
         build_version: 3.2.1_20211031212624-2c7eade2fd94a4ae32bec1683d1118da9d30cf8b(Oct 31 2021 22:03:03)
    2 rows in set
    

    其中:

    • status:表示节点服务的状态,一般有以下几种状态:

      • active:表示该 OBServer 节点为正常状态。

      • inactive:表示该 OBServer 节点为下线状态,集群升级过程中该值为 inactive。

      • deleting:表示该 OBServer 节点正在被删除。

    • start_service_time:表示节点服务时间,该时间不能是默认值 1970-01-01 08:00:00.000000;如果是,则表示该节点还没有完成恢复。

    • stop_time:表示节点停止时间,该时间应该是默认值 1970-01-01 08:00:00.000000,如果不是,则表示该节点被停止服务(Stop Server 操作)了,需要先启动服务(Start Server)。

本文目录

通过 SQL 语句停止 OBServer停止节点服务停止 observer 进程通过 OCP 停止 OBServer前提条件操作步骤通过 SQL 语句启动 OBServer启动 observer 进程启动节点服务
有帮助
无帮助
反馈
AI

OceanBase

OceanBase 海扬数据库始创于 2010 年,是完全自主研发的数据库公司。2020年开始独立商业化运作,历经15年大规模核心场景验证,目前是中国数据库的领军企业之一。从分布式数据库到 AI 数据库,为企业提供安全、稳定、可扩展的数据底座,推动数据基础设施全面拥抱 AI 时代。

关于我们

关于 OceanBase最新动态资质荣誉客户专家委员会招贤纳士合作伙伴年度发布会开发者大会

资源与服务

支持与服务文档知识库软件与工具下载培训与认证在线体验数据库专题视频

社区

快速上手开发者中心博客活动学习问答GitHub

数据库百科

分布式数据库国产数据库OLTP 数据库OLAP 数据库HTAP 数据库数据库向量数据库向量检索

联系我们

服务热线:
400-109-0633
商务咨询
培训认证技术支持媒体合作
京公网安备11010802047223号京公网安备11010802047223号
京ICP备20024574号-1
合字B1.B2-20250395
网站服务协议隐私协议安全响应协议
OceanBase 版权所有 © 2026 基础资源和备案服务由阿里云提供