---
title: OceanBase 数据库 Oracle 租户 OBClient connect 用法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于OceanBase 数据库 Oracle 租户 OBClient connect 用法相关的常见问题和使用技巧，帮助您快速解决OceanBase 数据库 Oracle 租户 OBClient connect 用法的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# OceanBase 数据库 Oracle 租户 OBClient connect 用法

更新时间：2026-06-03 03:01

适用版本： V3.2.x、V4.2.x、V4.3.x 内容类型：Troubleshoot  

## 总结说明

在 Oracle SQLPlus 命令行中，可以通过 connect 连接指定数据库。 作为 OceanBase 命令行工具，连接 OceanBase Oracle 时，obclient 兼容 Oracle SQLPlus connect 基本用法。 本文结合 Oracle SQLPlus connect 用法，基于 obclient 2.2.8 介绍 obclient connect 用法，建议使用 obclient 最新版本。

#### 注意

OBClient V2.2.8 及以上版本通过 connect 连接的行为同 Oracle SQLPlus，既切换数据库也切换用户。如涉及 OBClient 升级参考 OBClient V2.2.7 及之前版本升级注意事项部分。

## 详细说明

### 创建测试用户

分别在 Oracle 和 OceanBase Oracle 中创建两个测试用户。

```shell
CREATE USER alvin IDENTIFIED BY alvin;
GRANT DBA TO alvin;

CREATE USER tom IDENTIFIED BY tom;
GRANT DBA TO tom;

```

基本常用场景，测试如下两个 SQL。

```shell
SELECT user FROM dual;
SELECT userenv('SCHEMAID') SCHEMAID FROM dual;

```

### Oracle SQLPlus 用法

#### 用法一 指定用户名

```shell
connect tom/tom

```

测试结果如下。

```shell
SQL*Plus: Release 11.2.0.1.0 Production on Fri Oct 18 20:11:54 2024

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> SELECT user FROM dual;

USER
--------------------------------------------------------------------------------
ALVIN

SQL> SELECT userenv('SCHEMAID') SCHEMAID FROM dual;

  SCHEMAID
----------
       110

SQL> connect tom/tom
Connected.
SQL> SELECT user FROM dual;

USER
--------------------------------------------------------------------------------
TOM

  SCHEMAID
----------
       114

```

#### 用法二 指定 Service Name

```shell
connect tom/tom@orcl

```

测试结果如下。

SQL> connect tom/tom@orcl
Connected.
SQL> SELECT user FROM dual;

```

#### 用法三 Easy Connect 方式

```shell
connect tom/tom@10.10.20.20:1521/orcl

```

测试结果如下。

SQL> connect tom/tom@10.10.20.20:1521/orcl
Connected.
SQL> SELECT user FROM dual;

```

### OBClient connect 用法

以如下 OceanBase Oracle 租户连接为例。

```shell
obclient -h10.10.20.20 -P2883 -uALVIN@oboraclegbk#obcluster421 -A -pALVIN

```

#### 用法一 指定用户名

仅指定用户名和密码，**默认连接当前租户**。

```

#### 注意

OBClient V2.2.8 开始兼容此用法，建议使用 OBClient 最新版本。

测试结果如下。

```shell
Server version: OceanBase 4.2.1.9 (r109000092024091919-9e4708744c35a06376fd4289b995cf1ae70698d7) (Built Sep 19 2024 19:51:11)

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(ALVIN@oboraclegbk)[ALVIN]> SELECT user FROM dual;
+-------+
| USER  |
+-------+
| ALVIN |
+-------+
1 row in set (0.004 sec)

obclient(ALVIN@oboraclegbk)[ALVIN]> SELECT userenv('SCHEMAID') SCHEMAID FROM dual;
+----------+
| SCHEMAID |
+----------+
|   500003 |
+----------+
1 row in set (0.004 sec)

obclient(ALVIN@oboraclegbk)[ALVIN]> connect tom/tom
Connection id:    414510
Current database: TOM

obclient(TOM@oboraclegbk)[TOM]> SELECT user FROM dual;
+------+
| USER |
+------+
| TOM  |
+------+
1 row in set (0.003 sec)

obclient(TOM@oboraclegbk)[TOM]> SELECT userenv('SCHEMAID') SCHEMAID FROM dual;
+----------+
| SCHEMAID |
+----------+
|   500179 |
+----------+
1 row in set (0.003 sec)

```

#### 用法二 指定租户名

**同租户切换连接**。

```shell
connect tom@oboraclegbk#obcluster421/tom

```

测试结果如下。

obclient(ALVIN@oboraclegbk)[ALVIN]> conn tom@oboraclegbk#obcluster421/tom
Connection id:    659870
Current database: TOM

```

#### 跨租户切换连接

```shell
connect SYS@oboracle#obcluster421/XXX

```

测试结果如下。

obclient(ALVIN@oboraclegbk)[ALVIN]> connect SYS@oboracle#obcluster421/XXX
Connection id:    659877
Current database: SYS

obclient(SYS@oboracle)[SYS]> SELECT user FROM dual;
+------+
| USER |
+------+
| SYS  |
+------+
1 row in set (0.003 sec)

obclient(SYS@oboracle)[SYS]> SELECT userenv('SCHEMAID') SCHEMAID FROM dual;
+----------+
| SCHEMAID |
+----------+
|   201006 |
+----------+
1 row in set (0.003 sec)

```

#### 用法三 Easy Connect 方式

```shell
connect ALVIN@oboracle#obcluster/ALVIN@10.10.20.21:2883

```

测试结果如下。

obclient(ALVIN@oboraclegbk)[ALVIN]> connect ALVIN@oboracle#obcluster/ALVIN@10.10.20.21:2883
Connection id:    659880
Current database: ALVIN

obclient(ALVIN@oboraclegbk)[ALVIN]> SELECT user FROM dual;
+-------+
| USER  |
+-------+
| ALVIN |
+-------+
1 row in set (0.003 sec)

obclient(ALVIN@oboraclegbk)[ALVIN]> SELECT userenv('SCHEMAID') SCHEMAID FROM dual;
+----------+
| SCHEMAID |
+----------+
|   500003 |
+----------+
1 row in set (0.002 sec)

```

### OBClient 使用须知

1. OBClient 也支持 connect 简写为 conn。
 2. OBClient connect 命令结果加不加分号（;）均可。
 3. OBClient V2.2.8 开始兼容 OBClient connect 用法一 connect tom/tom 方式，建议使用 OBClient 最新版本。
 4. 用法二指定租户名时，connect 使用 OBClient 命令行的端口，即如果命令行使用 2881 连接，则 connect 中不需要指定集群名。
 5. OBClient V2.2.7 及之前版本谨慎使用 OBClient connect 用法，详见下面章节：**obclient V2.2.7 及之前版本 connect 使用注意事项**。

### OBClient V2.2.7 及之前版本 connect 使用注意事项

OBClient V2.2.8 及以上版本通过 connect 连接的行为同 Oracle SQLPlus，既切换数据库也切换用户。 OBClient V2.2.7 及之前版本 connect 欲实现同 Oracle SQLPlus connect tom/tom 方式，需要使用如下两个命令。

```shell
connect tom@oboraclegbk#obcluster421/tom
connect tom

```

或

```shell
connect tom@oboraclegbk#obcluster421/tom;connect tom;

```

详见如下注意事项。

#### 注意事项一

OBClient 2.2.7 及之前版本 **connect tom**（不指定密码）是 **MySQL 方式，只切换数据库，并不切换用户**。

```shell
obclient(ALVIN@oboraclegbk)[ALVIN]> connect tom
Connection id:    440485
Current database: TOM

```

OBClient V2.2.7 及之前版本不支持 connect tom/tom（Oracle SQLPlus 方式，OBClient V2.2.8 及之后版本支持）。

```shell
obclient(ALVIN@oboraclegbk)[ALVIN]> connect tom/tom
ERROR 1049 (42000): Unknown database 'TOM/TOM'

```

测试结果如下，对比 Oracle SQLPlus 用法一和 OBClient V2.2.8 connect 用法一可以看出，OBClient V2.2.7 切换前后用户均为 ALVIN。

```shell
obclient(ALVIN@oboraclegbk)[ALVIN]> SELECT user FROM dual;
+-------+
| USER  |
+-------+
| ALVIN |
+-------+
1 row in set (0.001 sec)

obclient(ALVIN@oboraclegbk)[ALVIN]> SELECT userenv('SCHEMAID') SCHEMAID FROM dual;
+----------+
| SCHEMAID |
+----------+
|   500003 |
+----------+
1 row in set (0.001 sec)

obclient(ALVIN@oboraclegbk)[ALVIN]> connect tom
Connection id:    660074
Current database: TOM

obclient(ALVIN@oboraclegbk)[TOM]> SELECT user FROM dual;
+-------+
| USER  |
+-------+
| ALVIN |
+-------+
1 row in set (0.001 sec)

obclient(ALVIN@oboraclegbk)[TOM]> SELECT userenv('SCHEMAID') SCHEMAID FROM dual;
+----------+
| SCHEMAID |
+----------+
|   500003 |
+----------+
1 row in set (0.001 sec)

```

#### 注意事项二

OBClient V2.2.7 及之前版本如下指定租户方式，只切换用户，并不切换数据库。

```

测试结果如下，从 connect 输出 `Current database: ALVIN` 结果或对比 status 命令中 `Current database: ALVIN` 可以看出，并未切换数据库。

obclient(ALVIN@oboraclegbk)[ALVIN]> status
--------------
obclient  Ver 2.2.7 Distrib 10.4.18-MariaDB, for Linux (x86_64) using readline 5.1

Connection id:		417251
Current database:	ALVIN
Current user:		ALVIN
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		OceanBase 4.2.1.9 (r109000092024091919-9e4708744c35a06376fd4289b995cf1ae70698d7) (Built Sep 19 2024 19:51:11)
Protocol version:	10
Connection:		10.10.20.20 via TCP/IP
Server characterset:	gbk
Db     characterset:	gbk
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
TCP port:		2883
Active			--------------

obclient(ALVIN@oboraclegbk)[ALVIN]> SELECT user FROM dual;
+-------+
| USER  |
+-------+
| ALVIN |
+-------+
1 row in set (0.001 sec)

obclient(ALVIN@oboraclegbk)[ALVIN]> connect tom@oboraclegbk#obcluster421/tom
Connection id:    660095
Current database: ALVIN

obclient(ALVIN@oboraclegbk)[ALVIN]> SELECT user FROM dual;
+------+
| USER |
+------+
| TOM  |
+------+
1 row in set (0.001 sec)

obclient(ALVIN@oboraclegbk)[ALVIN]> SELECT userenv('SCHEMAID') SCHEMAID FROM dual;
+----------+
| SCHEMAID |
+----------+
|   500179 |
+----------+
1 row in set (0.001 sec)

Connection id:		660095
Current database:	ALVIN
Current user:		TOM
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		OceanBase 4.2.1.9 (r109000092024091919-9e4708744c35a06376fd4289b995cf1ae70698d7) (Built Sep 19 2024 19:51:11)
Protocol version:	10
Connection:		172.20.12.123 via TCP/IP
Server characterset:	gbk
Db     characterset:	gbk
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
TCP port:		2883
Active			--------------

```

#### 注意事项三

由于 OBClient V2.2.7 及之前版本 connect tom 是切换用户，并不切换数据库，通过指定租户切换时，如果当前数据库在切换目标中不存在时，会报数据库不存在。

```

测试结果如下，因为在目标租户中，并不存在数据库 ALVIN。

```shell
obclient(ALVIN@oboraclegbk)[ALVIN]> conn SYS@oboracle#obcluster421/XXX
ERROR 1049 (42000): Unknown database 'ALVIN'

```

可以通过先切换数据库再切换用户的方式绕过。

```shell
obclient(ALVIN@oboraclegbk)[ALVIN]> conn SYS@oboracle#obcluster421/XXX
ERROR 1049 (42000): Unknown database 'ALVIN'
obclient(ALVIN@oboracle)[ALVIN]> conn SYS;
Connection id:    419439
Current database: SYS

obclient(ALVIN@oboracle)[SYS]> conn SYS@oboracle#obcluster421/XXX
Connection id:    660130
Current database: SYS

```

### OBClient V2.2.7 及之前版本升级注意事项

如当前在使用 OBClient V2.2.7 及之前版本，升级至 OBClient V2.2.8 及以上版本后，需要注意如下。

a. 依赖如下函数时，注意升级至 OBClient V2.2.8 及以上版本后，通过 connect 连接后行为同 Oracle SQLPlus，既切换数据库也切换用户。

```

b. 使用 OBClient V2.2.7 及之前版本时，connect tom 不需要输入密码，仅切换数据库，升级至 OBClient V2.2.8 及以上版本后，通过 connect 连接后行为同 Oracle SQLPlus，**需要指定密码，如 connect tom/tom**。

c. 使用 OBClient V2.2.7 及之前版本时，connect tom 仅切换数据库，不切换用户，升级至 OBClient V2.2.8 及以上版本后，通过 connect 连接后行为同 Oracle SQLPlus，也切换用户，**如遇到用户权限问题，根据需要赋予权限即可**。

d. 使用 OBCient V2.2.7 及之前版本时，或使用 OBClient V2.2.8 及以上版本，使用 connect 命令时后**新创建的对象的 OWNER 都是一样的，不需要担心**。

## 影响租户

影响 OceanBase 数据库中的 Oracle 租户，对于 SYS 租户和 MySQL 租户无影响。

## 适用版本

OceanBase 数据库 V3.2.x、V4.2.x、V4.3.x 版本。

Previous

[OBClient 客户端工具如何支持多 IP 连接登录](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000683684)

Next

[专有云 tunnel 打洞方式放开 2881 端口，命令行登录 OBServer 报错 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 11 的原因和解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003049736) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
