---
title: "修改用户权限 - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: 修改用户权限 修改用户权限包括授予用户权限和撤销用户权限。 授予权限 前提条件 当授予对象权限时，当前用户必须是对象的所有者，或者拥有被授予的权限（例如， test1 把表 t1 的 SELECT 权限授予 test2 ，则 test1 必须拥有表 t1 的 SELECT 的权限），并且拥有 GRANT OPTION…
---
切换语言

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

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

# 修改用户权限

更新时间：2023-08-01 11:45:47

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/700.reference/200.administrator-guide/200.basic-database-management/400.manage-tenants/900.manage-users-and-permissions/200.oracle-mode/500.modify-user-permissions-for-oralce-tenant-of-oracle-mode.md)  

修改用户权限包括授予用户权限和撤销用户权限。

## 授予权限

### 前提条件

- 当授予对象权限时，当前用户必须是对象的所有者，或者拥有被授予的权限（例如，`test1`把表 `t1` 的 `SELECT` 权限授予 `test2`，则 `test1` 必须拥有表 `t1` 的 `SELECT` 的权限），并且拥有 `GRANT OPTION` 权限，或者拥有 `GRANT ANY OBJECT PRIVILEGE` 权限，才能授予成功。
 - 当授予系统权限或角色时，当前用户必须拥有被授予的权限或角色，并且拥有 `GRANT OPTION` 权限，或者拥有 `GRANT ANY PRIVILEGE` 权限或 `GRANT ANY ROLE` 权限，才能授予成功。

查看当前拥有权限的操作请参见 [查看用户权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001702797)。如果您没有所需的权限，请联系管理员为您添加。查看当前拥有角色的操作请参见 [查看角色](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001702928)。

### 注意事项

进行授权操作时，需要注意以下事项：

- 同时把多个权限赋予用户时，权限类型用英文逗号（,）分隔。
 - 用户被授权后，该用户只有重新连接 OceanBase 数据库，权限才能生效。

### 授予权限的语法

授予对象权限的语法如下：

```sql
GRANT obj_with_col_priv_list
    ON obj_clause TO grant_user_list [WITH GRANT OPTION];

obj_with_col_priv_list:
  obj_with_col_priv
  | obj_with_col_priv_list, obj_with_col_priv

obj_with_col_priv:
  obj_privilege [column_list]

obj_privilege:
    ALTER
  | DELETE
  | INDEX
  | INSERT
  | SELECT
  | UPDATE
  | REFERENCES
  | EXECUTE

obj_clause:
  relation_name
  | relation_name '.' relation_name
  | DIRECTORY relation_name

grant_user_list:
    grant_user [, grant_user ...]

```

授予系统权限的语法如下：

```sql
GRANT {system_privilege_list | ALL PRIVILEGES}
    TO grantee_user [IDENTIFIED BY password];

system_privilege_list:
  system_privilege [, system_privilege ...]

system_privilege:
    CREATE SESSION
  | EXEMPT REDACTION POLICY
  | SYSDBA
  | SYSOPER
  | SYSBACKUP
  | CREATE TABLE
  | CREATE ANY TABLE
  | ALTER ANY TABLE
  | BACKUP ANY TABLE
  | DROP ANY TABLE
  | LOCK ANY TABLE
  | COMMENT ANY TABLE
  | SELECT ANY TABLE
  | INSERT ANY TABLE
  | UPDATE ANY TABLE
  | DELETE ANY TABLE
  | FLASHBACK ANY TABLE
  | CREATE ROLE
  | DROP ANY ROLE
  | GRANT ANY ROLE
  | ALTER ANY ROLE
  | AUDIT ANY
  | GRANT ANY PRIVILEGE
  | GRANT ANY OBJECT PRIVILEGE
  | CREATE ANY INDEX
  | ALTER ANY INDEX
  | DROP ANY INDEX
  | CREATE ANY VIEW
  | DROP ANY VIEW
  | CREATE VIEW
  | SELECT ANY DICTIONARY
  | CREATE PROCEDURE
  | CREATE ANY PROCEDURE
  | ALTER ANY PROCEDURE
  | DROP ANY PROCEDURE
  | EXECUTE ANY PROCEDURE
  | CREATE SYNONYM
  | CREATE ANY SYNONYM
  | DROP ANY SYNONYM
  | CREATE PUBLIC SYNONYM
  | DROP PUBLIC SYNONYM
  | CREATE SEQUENCE
  | CREATE ANY SEQUENCE
  | ALTER ANY SEQUENCE
  | DROP ANY SEQUENCE
  | SELECT ANY SEQUENCE
  | CREATE TRIGGER
  | CREATE ANY TRIGGER
  | ALTER ANY TRIGGER
  | DROP ANY TRIGGER
  | CREATE PROFILE
  | ALTER PROFILE
  | DROP PROFILE
  | CREATE USER
  | ALTER USER
  | DROP USER
  | CREATE TYPE
  | CREATE ANY TYPE
  | ALTER ANY TYPE
  | DROP ANY TYPE
  | EXECUTE ANY TYPE
  | UNDER ANY TYPE
  | PURGE DBA_RECYCLEBIN
  | CREATE ANY OUTLINE
  | ALTER ANY OUTLINE
  | DROP ANY OUTLINE
  | SYSKM
  | CREATE TABLESPACE
  | ALTER TABLESPACE
  | DROP TABLESPACE
  | SHOW PROCESS
  | ALTER SYSTEM
  | CREATE DATABASE LINK
  | CREATE PUBLIC DATABASE LINK
  | DROP DATABASE LINK
  | ALTER SESSION
  | ALTER DATABASE

```

语句使用说明：

- `obj_privilege`：指定授予的对象权限类型。同时将多个权限授予用户时，权限类型之间用英文逗号（,）分隔。
 - `obj_clause`：指定授予的对象权限的涉及的对象。
 - `system_privilege`：指定授予的系统权限类型。同时将多个权限授予用户时，权限类型之间用英文逗号（,）分隔。
 - `WITH GRANT OPTION`：表示指定当前授予的权限是否允许转授，且取消授权时会级联。

### 操作示例

- 授予系统权限

  将系统权限 `CREATE SEQUENCE` 授予用户 `test`。

  ```sql
  obclient> GRANT CREATE SEQUENCE TO test;

  ```
 - 授予对象权限

  将视图 `emp_view` 的 `SELECT` 、`UPDATE` 权限授予用户 `test`。

  ```sql
  obclient> GRANT SELECT, UPDATE ON emp_view TO test;

  ```

`GRANT` 语句的更多信息，请参见 [GRANT](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001699871)。

## 撤销权限

### 前提条件

- 当撤销对象权限时，当前用户必须拥有被撤销的权限（例如，`test1` 要撤销 `test2` 对表 `t1` 的 `SELECT` 权限，则 `test1` 必须拥有表 `t1` 的 `SELECT` 权限），并且拥有 `GRANT OPTION` 权限，或者拥有 `GRANT ANY OBJECT PRIVILEGE` 权限，才能撤销成功。
 - 当撤销系统权限或角色时，当前用户必须拥有被撤销的权限或角色，并且拥有 `GRANT OPTION` 权限，或者拥有 `GRANT ANY PRIVILEGE` 权限或 `GRANT ANY ROLE` 权限，才能撤销成功。
 - 撤销 `ALL PRIVILEGES` 和 `GRANT OPTION` 权限时，当前用户必须拥有全局 `GRANT OPTION` 权限，或者对权限表的 `UPDATE` 及 `DELETE` 权限。

查看当前拥有权限的操作请参见 [查看用户权限](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001702797)。如果您没有所需的权限，请联系管理员为您添加。

### 注意事项

- 同时对某个用户撤销多个权限时，权限类型用英文逗号（,）分隔。
 - 同时撤销多个用户的授权时，用户名用英文逗号（,）分隔。
 - 当授权给用户时，该权限没有指定 `GRANT OPTION` 时，撤销操作不会级联。例如，用户 `test1` 给 `test2` 授予了某些权限，撤回 `test1` 的权限不会同时也撤回 `test2` 的相应权限。

### 撤销权限的语法

撤销对象权限的语法如下：

```sql
REVOKE obj_privileges
  ON obj_clause FROM user_list;

user_list:
  user [, user ...]

obj_privileges:
  obj_privilege [, obj_privilege ...]

relation_name:
  STR_VALUE

```

撤销系统权限的语法如下：

```sql
REVOKE {system_privilege_list | ALL PRIVILEGES}
  FROM user_list;
REVOKE ALL [PRIVILEGES], GRANT_OPTION FROM user_list;

```

语句使用说明：

- `obj_privilege`：指定待撤销的对象权限的类型。同时撤销多个权限时，权限类型之间用英文逗号（,）分隔。
 - `obj_clause`：指定撤销的对象权限涉及的对象。
 - `system_privilege`：指定待撤销的系统权限类型。同时撤销多个权限时，权限类型之间用英文逗号（,）分隔。

### 操作示例

- 撤销系统权限

  撤销用户 `test` 的系统权限 `CREATE SEQUENCE`。

  ```sql
  obclient> REVOKE CREATE SEQUENCE FROM test;

  ```
 - 撤销对象权限

  撤销用户 `test` 的对于视图 `emp_view` 的对象权限 `SELECT` 权限和 `UPDATE` 权限。

  ```sql
  obclient> REVOKE ALL PRIVILEGES FROM user_name;

  ```

`REVOKE` 语句的更多信息，请参见 [REVOKE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001702702)。

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