---
title: "Oracle 租户中 sys_context(&#x27;userenv&#x27;, &#x27;instance&#x27;) 函数是如何获取的-OceanBase数据库使用指南"
description: "了解OceanBase数据库在实际应用中关于Oracle 租户中 sys_context(&#x27;userenv&#x27;, &#x27;instance&#x27;) 函数是如何获取的相关的常见问题和使用技巧，帮助您快速解决Oracle 租户中 sys_context(&#x27;userenv&#x27;, &#x27;instance&#x27;) 函数是如何获取的的难题。"
---
切换语言

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

划线反馈

# Oracle 租户中 sys_context('userenv', 'instance') 函数是如何获取的

更新时间：2026-05-19 08:21

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：How-to  

`select sys_context('userenv', 'instance') from dual;` 这个函数在原生 Oracle 和 OceanBase 的区别。

- 在原生 Oracle 中，返回的当前实例的标识 ID。
 - 在 OceanBase-Oracle 模式中，返回的是节点的 ID。

## 详细说明

1. OceanBase 中查询每个节点 `sys_context('userenv', 'instance')` 返回的值，是在 `root@sys` 用户下查询 `__all_server`，其中 ID 就是每个节点此 SQL 对应的值。
 2. 增删节点会导致 `__all_server` 记录的 ID 值推高，或者形成不连续的现象，一个集群中不会存在两个一样的 ID。

   示例。

   ```shell
   select id,svr_ip from __all_server;
    +----+-------------+
    | id | svr_ip      |
    +----+-------------+
    | 3  | xx.xx.xx.14 |
    | 5  | xx.xx.xx.15 |
    | 12 | xx.xx.xx.16 |
    | 18 | xx.xx.xx.17 |
    | 20 | xx.xx.xx.18 |
    | 28 | xx.xx.xx.19 |
    +----+-------------+

   ```

## 影响租户

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

## 适用版本

OceanBase 数据库 V2.x、V3.x 版本。

上一篇

[OceanBase 数据库不支持函数调用 Java 程序创建的解密函数的原因及解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002830557)

下一篇

[OceanBase 数据库列加密功能特性说明](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003563976) ![有帮助](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) 咨询热线
