---
title: "USERENV - OceanBase 数据库 V4.3.0 | OceanBase 文档中心"
description: "USERENV 描述 该函数返回有关当前会话的信息。该函数不能在 CHECK 约束的条件下使用。 语法 USERENV(&#x27;parameter&#x27;) 参数解释 parameter 自变量的取值如下： 取值 说明 CLIENT_INFO 返回用户会话信息（最多 64 字节），应用程序可以使用 DBMS_APPLICATIO…"
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.0

# USERENV

更新时间：2026-04-10 11:58:36

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/500.functions-of-oracle-mode/200.single-row-functions-of-oracle-mode/900.environment-and-identifier-functions-of-oracle-mode/500.userenv-of-oracle-mode.md)  

## 描述

该函数返回有关当前会话的信息。该函数不能在 `CHECK` 约束的条件下使用。

## 语法

```sql
USERENV('parameter')

```

## 参数解释

`parameter`自变量的取值如下：

| **取值** | **说明** |
| --- | --- |
| CLIENT_INFO | 返回用户会话信息（最多 64 字节），应用程序可以使用 `DBMS_APPLICATION_INFO` 系统包存储这些信息。 |
| INSTANCE | 当前实例的标识号。 |
| LANG | 语言的缩写名称，是比 LANGUAGE 参数更短的格式。 |
| LANGUAGE | 当前会话使用的语言和区域，以及数据库字符集。格式为 `language_territory.characterset`。 |
| SCHEMAID | Schema ID。 |
| SID \| SESSIONID | 返回当前会话的 Client Session ID，该 ID 是会话在客户端中的唯一标识。 |

## 返回值

除带有 `SESSIONID` 和 `SID` 参数的调用返回 `NUMBER`，其他参数的调用都返回 `VARCHAR2` 数据类型。

## 示例

- 获取当前会话使用的语言和区域，以及数据库字符集。

  ```sql
  obclient [SYS]> SELECT USERENV('LANGUAGE') "Language" FROM DUAL;

  ```

  返回结果如下：

  ```shell
  +---------------------------+
  | Language                  |
  +---------------------------+
  | AMERICAN_AMERICA.AL32UTF8 |
  +---------------------------+
  1 row in set

  ```
 - 获取当前会话的 Schema ID。

  ```sql
  obclient [SYS]> SELECT USERENV('SCHEMAID') FROM DUAL;

  ```

  返回结果如下：

  ```shell
  +---------------------+
  | USERENV('SCHEMAID') |
  +---------------------+
  |              201006 |
  +---------------------+
  1 row in set

  ```
 - 获取当前会话的 Client Session ID。

  ```sql
  obclient [SYS]> SELECT USERENV('SESSIONID') AS Client_Session_ID FROM DUAL;

  ```

  或

  ```sql
  obclient [SYS]> SELECT USERENV('SID') AS Client_Session_ID FROM DUAL;

  ```

  返回结果如下：

  ```shell
  +-------------------+
  | CLIENT_SESSION_ID |
  +-------------------+
  |        3221488033 |
  +-------------------+
  1 row in set

  ```

## 相关文档

您也可以通过 `SHOW PROCESSLIST` 语句查询当前数据库中会话的数量和会话的 ID，详细信息，请参见 [查看租户会话](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000639773)。

 上一篇 下一篇 ![有帮助](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) 咨询热线
