授予和撤销系统权限

2023年 11月 18日 33.6k 0

一、授予和撤销系统权限:
  1. DBA 将CREATE TABLE 系统权限连同ADMIN OPTION 授予U01。
SQL> create user u01 identified by oracle default tablespace users quota 10m on users;
SQL> grant connect to u01;
SQL> grant create table to u01 with admin option;
  2. U01 创建一个表。
SQL> create table a(id number);
  3. U01 将CREATE TABLE 系统权限授予U02。
SYS:
SQL> create user u02 identified by oracle default tablespace users quota 10m on users;
SQL> grant connect to u02;
U01:
SQL> grant create table to u02;
  4. U02 创建一个表。
SQL> create table b(id number);
  5. DBA 撤销U01 的CREATE TABLE 系统权限。
   SQL> revoke create table from u01;
结果
  U01 的表仍然存在,但是他不能创建新表。
SQL> create table c(id number);
create table c(id number)
*
ERROR at line 1:
ORA-01031: insufficient privileges

SQL> desc a;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER

  U02 的表仍然存在,而且她仍然具有CREATE TABLE 系统权限。
SQL> create table c(id number);

二、授予和撤销对象权限:
  1. U01 被授予关于EMPLOYEES 的SELECT 对象权限连同GRANT OPTION。
SQL> grant select on scott.emp to u01 with grant option;
  2. U01 将关于EMPLOYEES 的SELECT 权限授予U02。
SQL> grant select on scott.emp to u02;
SQL> desc scott.emp;
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
  3. 随后,撤销U01 的SELECT 权限。这个撤销操作会同时对U02 产生级联影响。
SQL> conn / as sysdba
SQL> revoke select on scott.emp from u01;
SQL> desc scott.emp;
ERROR:
ORA-04043: object scott.emp does not exist

相关文章

最新发布!MySQL 9.0 的向量 (VECTOR) 类型文档更新
国产数据库中级认证HCIP-openGauss经验分享
保障数据完整性与稳定性:数据库一致性
OceanBase 里的 DDL 超时时间
OceanBase v3.1.x 将不再更新版本 | 社区月报2024.6
openGauss Developer Day 2024 | SIG组工作会议亮点回看!

发布评论