首批通过分布式安全可靠测评,为关键业务系统打造
暂停服务
更新时间:2026-06-03 14:12:55
服务运行过程中,可以通过 STOP SERVICE 命令暂停服务。
使用限制
不允许在通过服务名建立的 Session 中执行 STOP SERVICE 命令。
前提条件
执行
STOP SERVICE命令要求用户具有ALTER SYSTEM权限。暂停服务时,要求租户的 Unit 中没有临时下线的机器。
确认租户的 Unit 中是否有临时下线的机器的详细操作,参见 创建服务 的 前提条件 中的内容。
根据确认结果,如果下线的机器不是临时下线而是永久下线,则需要保证永久下线的机器是因为宕机导致,否则该服务可能出现服务状态显示已停止,但仍然在继续提供服务的现象。
操作步骤
租户管理员登录集群的用户租户或 sys 租户。
连接示例如下,连接数据库时请以实际环境为准。
obclient -h10.xx.xx.xx -P2883 -uroot@sys#obdemo -p***** -A查看待暂停的服务的状态是否为
STOPPED。查询租户的服务状态的详细操作,参见 查看服务状态。
如果租户的服务状态不为
STOPPED,则要求当前租户的SWITCHOVER_STATUS为NORMAL,即当前租户不处于主备切换的中间状态。查询租户的SWITCHOVER_STATUS的方法如下:系统租户下查询指定租户的
SWITCHOVER_STATUSobclient [oceanbase]> SELECT TENANT_ID, TENANT_NAME, SWITCHOVER_STATUS FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = mysql_tenant;用户租户查询本租户的
SWITCHOVER_STATUSMySQL 模式Oracle 模式MySQL 模式下的查询语句如下:
obclient [oceanbase]> SELECT TENANT_ID, TENANT_NAME, SWITCHOVER_STATUS FROM oceanbase.DBA_OB_TENANTS;Oracle 模式下的查询语句如下:
obclient [SYS]> SELECT TENANT_ID, TENANT_NAME, SWITCHOVER_STATUS FROM SYS.DBA_OB_TENANTS;
暂停服务。
语句如下:
ALTER SYSTEM STOP SERVICE service_name [TENANT [=] tenant_name];语句中:
service_name:指定待暂停的服务名。TENANT [=] tenant_name:指定待暂停服务的租户名。仅sys租户可以指定租户,用户租户不能指定租户。
示例如下:
系统租户为租户
mysql_tenant暂停名为s_hz的服务。obclient [oceanbase]> ALTER SYSTEM STOP SERVICE s_hz TENANT = mysql_tenant;用户租户暂停名为
s_hz的服务。obclient > ALTER SYSTEM STOP SERVICE s_hz;
暂停服务后,原来已通过服务名建立的 Session 将会断开连接,并且不能再通过该服务名建立的新的 Session。