---
title: "权限转授 - OceanBase 数据库 V4.3.0 | OceanBase 文档中心"
description: 权限转授 权限转授解决了授权者集中的问题。通过在授权时指定 with admin/grant option ，可以同时授予用户将对应权限转授给其他用户的权限。回收对象权限时，要同时回收该用户转授给其他用户的对应权限，即 A 授予 B 权限，B 授予 C 权限，如果 A 收回 B 的权限，C 的权限也会被回收。回收系统…
---
切换语言

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

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

# 权限转授

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

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.0/zh-CN/600.manage/500.security-and-permissions/300.access-control/200.user-and-permission/300.permission-of-oracle-mode/300.delegation-of-authority-of-oracle-mode.md)  

权限转授解决了授权者集中的问题。通过在授权时指定 `with admin/grant option`，可以同时授予用户将对应权限转授给其他用户的权限。回收对象权限时，要同时回收该用户转授给其他用户的对应权限，即 A 授予 B 权限，B 授予 C 权限，如果 A 收回 B 的权限，C 的权限也会被回收。回收系统权限时，不会级联回收转授的权限。

## 权限转授示例

1. 使用 sys 用户登录集群的 Oracle 租户，并创建 A，B，C 三个用户并分别授予 `CREATE SESSION` 系统权限，单独授予 A 用户 `GRANT ANY PRIVILEGE` 权限。

   ```shell
   obclient > CREATE USER A IDENTIFIED BY ******;
   obclient > CREATE USER B IDENTIFIED BY ******;
   obclient > CREATE USER C IDENTIFIED BY ******;
   obclient > GRANT CREATE SESSION TO A;
   obclient > GRANT CREATE SESSION TO B;
   obclient > GRANT CREATE SESSION TO C;
   obclient > GRANT GRANT ANY PRIVILEGE TO A;

   ```
 2. 在 sys 用户下创建表 test。

   ```shell
   obclient > CREATE TABLE test (id number(10),name varchar2(10));
   Query OK, 0 rows affected (0.050 sec)

   ```
 3. 授予 A 用户查询 sys 用户下表 test 的权限。

   ```shell
   obclient > GRANT SELECT ON sys.test TO A;

   ```
 4. 登录 A 用户，授予 B 用户查询 test 表权限，并带上 `with grant option` 可以让 B 用户在进行授权。

   ```shell
   obclient > GRANT SELECT ON sys.test TO B with grant option;

   ```
 5. 切换到 B 用户，发现可以查询 test 表。

   ```shell
   obclient > SELECT * FROM sys.test

   ```
 6. 登录 B 用户，把查询 test 表的权限授予 C 用户。

   ```shell
   obclient > GRANT SELECT ON sys.test TO C ;

   ```

   如果在给 B 用户授权时没有带 `with grant option` 参数，则使用 B 用户对 C 用户转授相同权限时会提示如下报错：

   ```shell
   obclient > GRANT SELECT on sys.test TO C ;
   ORA-01031: insufficient privileges

   ```
 7. 切换到 C 用户，发现可以查询 test 表，权限转授成功。

   ```shell
   obclient > SELECT * FROM sys.test;

   ```

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