首批通过分布式安全可靠测评,为关键业务系统打造
通过 OBClient 连接 OceanBase 租户
更新时间:2026-06-10 12:14:26
本文主要介绍通过 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] [--proxy_user[=]user_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 下。--proxy_user:可选项,该参数指定被代理的用户名,即目标用户名。更多有关使用代理用户的示例信息,请参见 使用代理用户。
示例如下:
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@主租户名#主租户所在集群,用户不需要主备切换后手动改变连接串。有关创建 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] [--proxy_user[=]user_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 下。--proxy_user:可选项,该参数指定被代理的用户名,即目标用户名。更多有关使用代理用户的示例信息,请参见 使用代理用户。
示例如下:
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#test432 -p****** -A test_user001如果需要退出 OBClient 命令行,输入
exit后回车,或者按快捷键 Ctrl + D。
相关文档
通过 OBClient 连接 OceanBase 数据库 MySQL 租户的操作示例请参见 通过 OBClient 连接 OceanBase 租户。