Oracle-DCL-GRANT_授权与REVOKE_撤销权限

Oracle-DCL-GRANT-授权与REVOKE-撤销权限

目录




内容

1、GRANT 赋于权限

  • 常用的系统权限集合有以下三个:
系统权限描述
CONNECT连接权限
RESOURCE开发权限
DBA管理员权限
  • 格式:GRANT 赋于系统权限

      	GRANT CONNECT/RESOURCE/DBA TO 用户名;
    
  • 常用的数据对象权限有以下五个:

表对象权限描述
ALL所有表对象权限
ALTER修改表对象结构的权限
SELECT查询权限
INSERT插入权限
DELETE删除权限
UPDATE更新权限
  • 格式:GRANT 赋于表对象权限

      GRANT ALL/ALTER/SELECT/INSERT/DELETE/UPDATE ON表名 TO 用户名1, 用户名2;
    

2、权限转移

grant 表对象权限 on table1 to 用户 with grant option; 授权表对象权限转移给xuj用户,用户可以继续授权;

3、REVOKE 回收权限

3.1、回收系统权限

REVOKE CONNECT/RESOURCE/DBA FROM 用户名;

3.2、回收表对象权限

REVOKE ALL/ALTER/SELECT/INSERT/DELETE/UPDATE ON 表名 FROM 用户名1, 用户名2;

4、授权、撤销权限与查询权限示例

  • 授权

      --select * from dba_users; 查询数据库中的所有用户
    
    --alter user 用户名 account lock; 锁住用户
    
    --alter user 用户名 account unlock; 给用户解锁
    
    --create user 用户名 identified by  密码; 新建用户
    
    --grant create tablespace to 用户名; 授权
    
    --grant select on tabel1 to 用户名; 授权查询
    
    --grant update on table1 to 用户名;
    
    --grant execute on procedure1 to 用户名; 授权存储过程
    
    --grant update on table1 to 用户名 with grant option; 授权更新权限转移给用户,用户可以继续授权;
    
  • 收回权限

    --revoke select on table1 from 用户名; 收回查询select表的权限;
    
    --revoke all on table1 from 用户名;
    
    -- grant connect to 用户名;
    
    -- revoke connect from 用户名;
    
    -- grant select on 表名 to 用户名;
    
    -- revoke select on 表名 from 用户名;
    
    --select table_name,privilege from dba_tab_privs where grantee='用户名' 查询一个用户拥有的对象权限
    
    --select * from dba_sys_privs where grantee='用户名' 查询一个用户拥有的系统权限
    
    --select * from session_privs --当前会话有效的系统权限
    
  • 创建角色

    --create role 角色名;--建立角色
    
    --grant insert on 表名 to 角色名; 将插入表的信息
    
    --revoke insert on 表名 from 角色名; 收回xujin1角色的权限
    
    --grant 角色名 to 用户名; 将角色的权限授权给用户;
    
    -- create role 角色名;
    
    --grant 角色名1 to 角色名2; 将角色1授权给角色2;
    
    --alter user 用户名 default 角色1,角色2; 修改用户默认角色
    
  • 删除角色

    -- DROP ROLE 角色名;删除角色;
    
    --select * from role_sys_privs where role='角色名';
    
  • 查看角色下有什么系统权限;

    --select granted_role,admin_option from role_role_privs where role='角色名';
    
  • 查看角色下面有什么角色权限

    --select * from role_sys_privs where role='角色名';
    
    --select table_name,privilege from role_tab_privs where role='角色名';
    
    --select * from dba_role_privs where grantee='用户名' --查看用户下面有多少个角色;
    

后记

  所有的数据库测试,如果没有明确指定,都是使用scott用户下的4张表.
  本项目为参考某马视频开发,相关视频及配套资料可自行度娘或者联系本人。上面为自己编写的开发文档,持续更新。欢迎交流,本人QQ:806797785

前端项目源代码地址:https://gitee.com/gaogzhen/vue-leyou
    后端JAVA源代码地址:https://gitee.com/gaogzhen/JAVA

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gaog2zh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值