OceanBase REVOKE

2021-06-29 13:55 更新

描述

該語(yǔ)句用于系統(tǒng)管理員撤銷 User 的某些權(quán)限。

使用說(shuō)明如下:

  • 用戶必須擁有被撤銷的權(quán)限(例如,user1 要撤銷 user2 對(duì)表 t1 的 SELECT 權(quán)限,則 user1 必須擁有表 t1 的 SELECT 的權(quán)限),并且擁有 GRANT OPTION 權(quán)限。
  • 撤銷 ALL PRIVILEGES 和 GRANT OPTION 權(quán)限時(shí),當(dāng)前用戶必須擁有全局 GRANT OPTION 權(quán)限,或者對(duì)權(quán)限表的 UPDATE 及 DELETE 權(quán)限。
  • 當(dāng)權(quán)限沒(méi)有 GRANT OPTION 時(shí),撤銷操作不會(huì)級(jí)聯(lián)。例如,用戶 user1 給 user2 授予了某些權(quán)限,撤回 user1 的權(quán)限不會(huì)同時(shí)也撤回 user2 的相應(yīng)權(quán)限。當(dāng)擁有 GRANT OPTION 時(shí),撤銷操作會(huì)級(jí)聯(lián)。

格式

/*撤銷對(duì)象權(quán)限*/
REVOKE obj_privileges
  ON obj_clause FROM user_list;

user_list:
  user [, user ...]

obj_privileges:
  obj_privilege [, obj_privilege ...]
  
obj_privilege:
    ALTER
  | AUDIT
  | COMMENT
  | DELETE
  | GRANT
  | INDEX
  | INSERT
  | LOCK
  | RENAME
  | SELECT 
  | UPDATE
  | REFERENCES
  | EXECUTE
  | CREATE
  | FLASHBACK
  | READ
  | WRITE
  | DEBUG

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

relation_name:
  STR_VALUE
  
/*撤銷系統(tǒng)權(quán)限*/
REVOKE {system_privilege_list | ALL PRIVILEGES}
  FROM user_list;
REVOKE ALL [PRIVILEGES], GRANT_OPTION FROM user_list;

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

/*撤銷角色*/
REVOKE role_list FROM user;

role_list:
role [, role ...]

參數(shù)解釋

參數(shù)

描述

obj_privileges

指定撤銷的對(duì)象權(quán)限類型。具體的權(quán)限類型及其說(shuō)明請(qǐng)參見(jiàn)下方權(quán)限類型說(shuō)明表。

同時(shí)撤銷多個(gè)權(quán)限時(shí),權(quán)限類型用“,”隔開(kāi)。

system_privilege

指定撤銷的系統(tǒng)權(quán)限類型。

同時(shí)撤銷多個(gè)權(quán)限時(shí),權(quán)限類型用“,”隔開(kāi)。

obj_clause

指定撤銷權(quán)限的層級(jí),relation_name指定具體對(duì)象的名稱。權(quán)限可以分為以下幾個(gè)層級(jí):

  • 全局層級(jí):適用于所有的數(shù)據(jù)庫(kù)。

  • 數(shù)據(jù)庫(kù)層級(jí):適用于一個(gè)給定數(shù)據(jù)庫(kù)中的所有目標(biāo)。

  • 表層級(jí):表權(quán)限適用于一個(gè)給定表中的所有列。

可以撤銷的權(quán)限類型如下表所示。

權(quán)限類型說(shuō)明表

權(quán)限

說(shuō)明

ALL PRIVILEGES

除GRANT OPTION以外所有權(quán)限。

ALTER

ALTER TABLE的權(quán)限。

CREATE

CREATE TABLE的權(quán)限。

DELETE

DELETE的權(quán)限。

DROP

DROP的權(quán)限。

GRANT OPTION

GRANT OPTION的權(quán)限。

INSERT

INSERT的權(quán)限。

UPDATE

UPDATE的權(quán)限。

SELECT

SELECT的權(quán)限。

INDEX

CREATE INDEX, DROP INDEX的權(quán)限

SHOW VIEW

SHOW CREATE VIEW權(quán)限。

SHOW DATABASES

全局 SHOW DATABASES的權(quán)限。

SUPER

SET GLOBAL修改全局系統(tǒng)參數(shù)的權(quán)限。

REFERENCES

創(chuàng)建指向表的約束的權(quán)限。

EXECUTE

執(zhí)行預(yù)處理程序的權(quán)限。

FLASHBACK

FLASHBACK的權(quán)限。

READ

READ的權(quán)限。

WRITE

WRITE的權(quán)限。

CREATE SESSION

連接到數(shù)據(jù)庫(kù)的權(quán)限。

EXEMPT REDACTION POLICY

繞過(guò)任意現(xiàn)有 REDACTION POLICY 并查看數(shù)據(jù)的權(quán)限。

SYSDBA

SYSDBA的權(quán)限。

SYSOPER

SYSOPER的權(quán)限。

SYSBACKUP

SYSBACKUP的權(quán)限。

CREATE TABLE

在指定用戶SCHEMA內(nèi)創(chuàng)建表的權(quán)限。

CREATE ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)創(chuàng)建表的權(quán)限。

ALTER ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)修改表的權(quán)限。

BACKUP ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)創(chuàng)建表的權(quán)限。

DROP ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)備份表的權(quán)限。

LOCK ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)鎖定表的權(quán)限。

COMMENT ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)評(píng)論表的權(quán)限。

SELECT ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)查看表的權(quán)限。

INSERT ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)的表插入行的權(quán)限。

UPDATE ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)的表更新行的權(quán)限。

DELETE ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)刪除表的權(quán)限。

FLASHBACK ANY TABLE

在除SYS外所有用戶SCHEMA內(nèi)FLASHBACK表的權(quán)限。

CREATE ROLE

創(chuàng)建角色的權(quán)限。

DROP ANY ROLE

刪除任意角色的權(quán)限。

GRANT ANY ROLE

授予任意角色的權(quán)限。

ALTER ANY ROLE

修改任意角色的權(quán)限。

AUDIT ANY

在除SYS外所有用戶SCHEMA內(nèi)修改對(duì)象的權(quán)限。

GRANT ANY PRIVILEGE

授予任意系統(tǒng)權(quán)限的權(quán)限。

GRANT ANY OBJECT PRIVILEGE

授予任意對(duì)象權(quán)限的權(quán)限。

CREATE ANY INDEX

在除SYS外所有用戶SCHEMA內(nèi)創(chuàng)建索引的權(quán)限。

ALTER ANY INDEX

在除SYS外所有用戶SCHEMA內(nèi)修改索引的權(quán)限。

DROP ANY INDEX

在除SYS外所有用戶SCHEMA內(nèi)刪除索引的權(quán)限。

CREATE ANY VIEW

在除SYS外所有用戶SCHEMA內(nèi)創(chuàng)建視圖的權(quán)限。

DROP ANY VIEW

在除SYS外所有用戶SCHEMA內(nèi)刪除索引的權(quán)限。

CREATE VIEW

在指定用戶SCHEMA內(nèi)創(chuàng)建視圖的權(quán)限。

SELECT ANY DICTIONARY

在指定用戶SCHEMA內(nèi)查詢DICTIONARY的權(quán)限。

CREATE PROCEDURE

在指定用戶SCHEMA內(nèi)創(chuàng)建PROCEDURE的權(quán)限。

CREATE ANY PROCEDURE

在除SYS外所有用戶SCHEMA內(nèi)創(chuàng)建PROCEDURE的權(quán)限。

ALTER ANY PROCEDURE

在除SYS外所有用戶SCHEMA內(nèi)修改PROCEDURE的權(quán)限。

DROP ANY PROCEDURE

在除SYS外所有用戶SCHEMA內(nèi)刪除PROCEDURE的權(quán)限。

EXECUTE ANY PROCEDURE

在除SYS外所有用戶SCHEMA內(nèi)執(zhí)行PROCEDURE的權(quán)限。

CREATE SYNONYM

在指定用戶SCHEMA內(nèi)創(chuàng)建SYNONYM的權(quán)限。

CREATE ANY SYNONYM

在除SYS外所有用戶SCHEMA內(nèi)創(chuàng)建SYNONYM的權(quán)限。

DROP ANY SYNONYM

在除SYS外所有用戶SCHEMA內(nèi)刪除SYNONYM的權(quán)限。

CREATE PUBLIC SYNONYM

創(chuàng)建公共SYNONYM的權(quán)限。

DROP PUBLIC SYNONYM

刪除公共SYNONYM的權(quán)限。

CREATE SEQUENCE

在指定用戶SCHEMA內(nèi)創(chuàng)建SEQUENCE的權(quán)限。

CREATE ANY SEQUENCE

在除SYS外所有用戶SCHEMA內(nèi)創(chuàng)建SEQUENCE的權(quán)限。

ALTER ANY SEQUENCE

在除SYS外所有用戶SCHEMA內(nèi)修改SEQUENCE的權(quán)限。

DROP ANY SEQUENCE

在除SYS外所有用戶SCHEMA內(nèi)刪除SEQUENCE的權(quán)限。

SELECT ANY SEQUENCE

在除SYS外所有用戶SCHEMA內(nèi)查詢SEQUENCE的權(quán)限。

CREATE TRIGGER

在指定用戶SCHEMA內(nèi)創(chuàng)建TRIGGER的權(quán)限。

CREATE ANY TRIGGER

在除SYS外所有用戶SCHEMA內(nèi)創(chuàng)建TRIGGER的權(quán)限。

ALTER ANY TRIGGER

在除SYS外所有用戶SCHEMA內(nèi)修改TRIGGER的權(quán)限。

DROP ANY TRIGGER

在除SYS外所有用戶SCHEMA內(nèi)刪除TRIGGER的權(quán)限。

CREATE PROFILE

創(chuàng)建PROFILE的權(quán)限。

ALTER PROFILE

修改PROFILE的權(quán)限。

DROP PROFILE

刪除PROFILE的權(quán)限。

CREATE USER

創(chuàng)建用戶的權(quán)限。

ALTER USER

修改用戶的權(quán)限。

DROP USER

刪除用戶的權(quán)限。

CREATE TYPE

在指定用戶SCHEMA內(nèi)創(chuàng)建TYPE的權(quán)限。

CREATE ANY TYPE

在除SYS外所有用戶SCHEMA內(nèi)創(chuàng)建TYPE的權(quán)限。

ALTER ANY TYPE

在除SYS外所有用戶SCHEMA內(nèi)修改TYPE的權(quán)限。

DROP ANY TYPE

在除SYS外所有用戶SCHEMA內(nèi)刪除TYPE的權(quán)限。

EXECUTE ANY TYPE

在除SYS外所有用戶SCHEMA內(nèi)執(zhí)行TYPE的權(quán)限。

UNDER ANY TYPE

在除SYS外所有用戶SCHEMA內(nèi)TYPE的基礎(chǔ)上創(chuàng)建SUBTYPE的權(quán)限。

PURGE DBA_RECYCLEBIN

從系統(tǒng)回收站中刪除所有對(duì)象的權(quán)限。

CREATE ANY OUTLINE

在除SYS外所有用戶SCHEMA內(nèi)創(chuàng)建OUTLINE的權(quán)限。

ALTER ANY OUTLINE

在除SYS外所有用戶SCHEMA內(nèi)修改OUTLINE的權(quán)限。

DROP ANY OUTLINE

在除SYS外所有用戶SCHEMA內(nèi)刪除OUTLINE的權(quán)限。

SYSKM

SYSKM的權(quán)限。

CREATE TABLESPACE

創(chuàng)建表空間的權(quán)限。

ALTER TABLESPACE

修改表空間的權(quán)限。

DROP TABLESPACE

刪除表空間的權(quán)限。

ALTER SYSTEM

ALTER SYSTEM的權(quán)限

CREATE DATABASE LINK

在指定用戶SCHEMA內(nèi)創(chuàng)建DATABASE LINK的權(quán)限。

CREATE PUBLIC DATABASE LINK

創(chuàng)建PUBLIC DATABASE LINK的權(quán)限。

DROP DATABASE LINK

在指定用戶SCHEMA內(nèi)刪除DATABASE LINK的權(quán)限。

ALTER SESSION

修改SESSION的權(quán)限。

ALTER DATABASE

修改DATABASE的權(quán)限。

示例

執(zhí)行以下命令撤銷用戶 obsqluser 的所有權(quán)限。

obclient>REVOKE ALL PRIVILEGES FROM sqluser;
Query OK, 0 rows affected (0.10 sec)


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)