首批通过分布式安全可靠测评,为关键业务系统打造
启动服务
更新时间:2026-06-07 16:46:25
创建服务后,可以通过 START SERVICE 命令启动服务。
使用限制
不允许在通过服务名建立的 Session 中执行 START SERVICE命令。
前提条件
执行
START SERVICE命令要求用户具有ALTER SYSTEM权限。启动服务时,需要先确认租户的 Unit 中是否有临时下线的机器。如果有临时下线的机器,在执行
START SERVICE命令后,可能会有部分机器暂时无法通过该服务名提供服务,建议等待临时下线的机器恢复或永久下线后再执行START SERVICE命令。确认租户的 Unit 中是否有临时下线的机器的详细操作,参见 创建服务 的 前提条件 中的内容。
操作步骤
租户管理员登录集群的用户租户或 sys 租户。
连接示例如下,连接数据库时请以实际环境为准。
obclient -h10.xx.xx.xx -P2883 -uroot@sys#obdemo -p***** -A查看待启动的服务状态是否为
STARTED。查询租户的服务状态的详细操作,参见 查看服务状态。
如果租户的服务状态不为
STARTED,则要求租户的SWITCHOVER_STATUS为NORMAL,即租户不处于主备切换的中间状态。查询租户的SWITCHOVER_STATUS的方法如下:- 系统租户下查询指定租户的
SWITCHOVER_STATUS
obclient [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 START SERVICE service_name [TENANT [=] tenant_name];语句中:
service_name:指定待启动的服务名。TENANT [=] tenant_name:指定待启动服务的租户名。仅sys租户可以指定租户,用户租户不能指定租户。
示例如下:
系统租户为租户
mysql_tenant启动名为s_hz的服务。obclient [oceanbase]> ALTER SYSTEM START SERVICE s_hz TENANT = mysql_tenant;用户租户启动名为
s_hz的服务。obclient > ALTER SYSTEM START SERVICE s_hz;
命令执行后,如果返回
Query OK,则表示租户的 Unit 中除了永久下线的机器,其他所有机器均支持通过指定服务名的方式来建立连接;如果返回的是OB_SERVICE_NOT_FULLY_STARTED,则表示租户的 Unit 中除了永久下线的机器,其他机器中仅部分机器支持通过指定服务名的方式来建立连接。如果需要确认具体有哪些机器支持通过指定服务名的方式连接数据库,可以通过系统租户下的 CDB_OB_TENANT_EVENT_HISTORY 视图或用户租户下的 DBA_OB_TENANT_EVENT_HISTORY(MySQL 模式) 和 DBA_OB_TENANT_EVENT_HISTORY(Oracle 模式) 视图来确认。