首批通过分布式安全可靠测评,为关键业务系统打造
通过 OBClient 连接 OceanBase 租户
更新时间:2026-04-16 00:11:35
本文主要介绍通过 OBClient 连接 OceanBase 数据库 Oracle 租户的前提条件、连接操作和示例。
前提条件
请确认已下载并安装了 OBClient 应用。如果未下载 OBClient 应用,您可以单击以下链接下载使用:
连接租户前,请确认当前客户端在租户白名单中,租户白名单的查询及设置具体操作请参见 查看和设置租户白名单。
连接操作
通过 ODP 连接的方式
使用 OBClient 客户端命令通过 OceanBase 数据库代理(OceanBase Database Proxy,ODP)连接 OceanBase 数据库的格式如下:
obclient -h$host -P$port -u$user_name -p****** [-c] [-A] [$schema_name]
参数说明:
-h:指定 OceanBase 数据库的连接 IP。$host应该被实际的 IP 替换,使用 ODP 连接的方式应是一个 ODP 地址。-P:指定 OceanBase 数据库连接端口。$port应该被实际的端口替换,使用 ODP 连接的方式默认是 2883,在部署 ODP 时可自定义。-u:指定 OceanBase 数据库的连接账户。$user_name格式有:用户名@租户名#集群名、集群名:租户名:用户名、集群名-租户名-用户名或者集群名.租户名.用户名。Oracle 租户的管理员用户名默认是SYS。说明
- 当使用 ODP 连接 OceanBase 集群时,可以通过以下方式获取集群名:
先通过直连的方式连接 OceanBase 数据库;然后使用SHOW PARAMETERS LIKE 'cluster';命令来获取集群的名称,该命令会返回结果中VALUE的值对应 OceanBase 集群的名称。 - 如果 ODP 代理多个集群,连接时必须指定集群名;如果 ODP 只代理一个集群,连接时则不需指定集群名。
- 当使用 ODP 连接 OceanBase 集群时,可以通过以下方式获取集群名:
-p: 指定连接 OceanBase 数据库的密码。******应该被实际的密码字符串替换。说明
出于安全考虑,建议不在命令行直接输入密码,尤其是在脚本或历史记录可见的环境下,可以省略此选项并在提示时输入密码。
-c:可选项,表示在 OBClient 运行环境中不要忽略注释。说明
Hint 是特殊的注释,不受
-c影响。-A: 可选项,表示在 OBClient 连接数据库时不自动获取统计信息。$schema_name:可选项,指定连接 OceanBase 数据库后要使用的默认 Schema。如果不提供,默认进入当前登录用户的 Schema 下。
示例如下:
obclient -h10.10.10.1 -P2883 -uuser001@obtenant#obdemo -p****** -c -A test_user001
使用 ODP 通过 SERVICE_NAME 连接的方式
OceanBase 数据库支持通过指定 ODP 的 IP:PORT 以及 SERVICE_NAME 进行登陆。根据指定的 SERVICE_NAME,ODP 将连接串转换为 -uuser_name@主租户名#主租户所在集群,用户不需要主备切换后手动改变连接串。
注意
对于 OceanBase 数据库 V4.2.1 版本,从 V4.2.1 BP9 版本开始支持 SERVICE_NAME 功能。该功能依赖于 OceanBase 云平台(OceanBase Cloud Platform, OCP)。要求 OCP 为 V4.3.1 及之后版本,并且需要 OCP 接管了 OceanBase 集群才能正常使用。
使用 ODP 通过 SERVICE_NAME 连接 OceanBase 数据库的格式如下:
obclient -h$host -P$port -u$user_name@SERVICE:$service_name -p******
参数说明:
$host:ODP 的 IP 地址。$port:ODP 的端口号。$user_name:用户名。$service_name: 服务名。-p: 指定连接 OceanBase 数据库的密码。******应该被实际的密码字符串替换。
示例如下:
obclient -h10.10.10.1 -P2883 -uuser001@SERVICE:service_oracle001 -p******
通过直连方式
使用 OBClient 客户端命令通过直连方式连接 OceanBase 数据库的格式如下:
obclient -h$host -P$port -u$user_name -p****** [-c] [-A] [$schema_name]
参数说明:
-h:指定 OceanBase 数据库的连接 IP。$host应该被实际的 IP 替换,使用直连方式通常是一个 OBServer 节点的 IP 地址。注意
普通租户通过直连方式连接时,需要确保该租户的资源分布在该 OBServer 节点上,如果该租户的资源未分布在该 OBServer 节点上,则无法通过直连该 OBServer 节点连接到该租户。
-P:指定 OceanBase 数据库连接端口。$port应该被实际的端口替换,使用直连方式默认是 2881,在部署 OceanBase 数据库时可自定义。-u:指定 OceanBase 数据库的连接账户。$user_name格式为:用户名@租户名。Oracle 租户的管理员用户名默认是sys。注意
在使用直连方式连接 OceanBase 数据库时,连接参数
-u后应填写正确的用户名@租户名,不要指定集群名。如果在-u中包含了集群名,会导致连接报错。-p: 指定连接 OceanBase 数据库的密码。******应该被实际的密码字符串替换。说明
出于安全考虑,建议不在命令行直接输入密码,尤其是在脚本或历史记录可见的环境下,可以省略此选项并在提示时输入密码。
-c:可选项,表示在 OBClient 运行环境中不要忽略注释。说明
Hint 是特殊的注释,不受
-c影响。-A: 可选项,表示在 OBClient 连接数据库时不自动获取统计信息。$schema_name:可选项,指定连接 OceanBase 数据库后要使用的默认 Schema。如果不提供,默认进入当前登录用户的 Schema 下。
示例如下:
obclient -h10.10.10.1 -P2881 -uuser001@obtenant -p****** -c -A test_user001
打开一个命令行终端。
使用 OBClient 客户端通过 ODP 连接 OceanBase 数据库的 Oracle 模式租户。
obclient -hxxx.xx.xxx.xxx -P2883 -usys@oracle001#test421 -p****** -A test_user001返回结果如下:
Welcome to the OceanBase. Commands end with ; or \g. Your OceanBase connection id is 21 Server version: OceanBase 4.2.1.0 (r200000342024061210-c4c0c18741e45a1d40889b6147c3132574d6e7ea) (Built Jun 12 2024 10:58:58) Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. obclient [TEST_USER001]>如果需要退出 OBClient 命令行,输入
exit后回车,或者按快捷键 Ctrl + D。
相关文档
通过 OBClient 连接 OceanBase 数据库 MySQL 租户的操作示例请参见 通过 OBClient 连接 OceanBase 租户。