Oracle为了兼容以前的版本,提供了三种标准的角色(role):connect、resource和dba。

1. connect role(连接角色)

临时用户,特别是那些不需要建表的用户,通常只赋予他们connect。connect是使用oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有connect role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。

查询当前版本connect权限

select grantee, privilege from dba_sys_privs

where grantee = 'CONNECT';

2. resource role(资源角色)

更可靠和正式的数据库用户可以授予resource role。resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

select grantee, privilege from dba_sys_privs

where grantee = 'RESOURCE';

3. dba role(数据库管理员角色)

dba role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有。下面介绍一些dba经常使用的典型权限。

select grantee, privilege from dba_sys_privs

where grantee = 'DBA';

(1)grant(授权)命令

下面对user01用户授权,命令如下:

grant connect, resource to user01;

(2)revoke(撤消)权限

已授予的权限可以撤消。例如撤消(1)中的授权,命令如下:

revoke connect, resource from user01;

一个具有dba角色的用户可以撤消任何别的用户甚至别的dba的connect、resource 和dba的其他权限。当然,这样是很危险的,因此,除非真正需要,dba权限不应随便授予那些不是很重要的一般用户。 撤消一个用户的所有权限,并不意味着从oracle中删除了这个用户, 也不会破坏用户创建的任何表;只是简单禁止其对这些表的访问。其他要访问这些表的用户可以象以前那样地访问这些表。

二、创建角色

除了前面讲到的三种系统角色----connect、resource和dba,用户还可以在oracle创建自己的role。用户创建的role可以由表或系统权限或两者的组合构成。为了创建role,用户必须具有create role系统权限。下面给出一个create role命令的实例:

create role student;

这条命令创建了一个名为student的role。

一旦创建了一个role,用户就可以给他授权。给role授权的grant命令的语法与对对用户的语法相同。在给role授权时,在grant命令的to子句中要使用role的名称,如下所示:

grant select on class to student;

现在,拥有student 角色的所有用户都具有对class 表的select权限。

三、删除角色

要删除角色,可以使用drop role命令,如下所示:

drop role student;

指定的role连同与之相关的权限将从数据库中全部删除。

相关阅读:

oracle 授予 sequence,Oracle中的角色和权限授予相关推荐

  1. Oracle基本安全之用户、角色和权限操作

    学习Oracle离不开用户.角色和权限这三个概念,下面首先解释一下这三个概念: 用户:对数据库的访问需要以适当的身份通过验证,这就是用户的作用:每个Oracle用户都有自己的用户名和密码,并且拥有他们 ...

  2. AspNetForums中基于角色的权限控制

    AspNetForums中基于角色的权限控制 http://blog.joycode.com/dotey/archive/2005/02/24/44791.aspx asp.net页面如何控制页面依据 ...

  3. 实战:k8s中基于角色的权限访问控制-RBAC(成功测试-博客输出)-20211005

    目录 文章目录 目录 写在前面 基础知识介绍 实验环境 实验软件 老师原课件内容 1..用K8S CA签发客户端证书 2. 生成kubeconfig授权文件 3. 创建RBAC权限策略 4.指定kub ...

  4. Jenkins 中基于角色的权限管理

    Jenkins 中基于角色的权限管理 原文地址: Jenkins 中基于角色的权限管理 | 超级小豆丁 (mydlq.club) 系统环境: Jenkins 版本:2.213 一.简介 Jenkins ...

  5. oracle复制sequence,oracle sequence语句重置方介绍

    在开发过程中,可能会用到oracle sequence语句,本文以oracle sequence语句如何重置进行介绍,需要的朋友可以参考下 Oracle重置sequence语句1 Sql代码 DECL ...

  6. Moodle中的角色与权限控制

    有关角色的概念: 角色是权限访问的集合,用于在魔灯中管理者可以在特定情境下委派特定的权限给特定的用户. 例如,您可能有一个"教师"的角色,这个角色允许教师完成一些特定的功能(而不是 ...

  7. Shiro中进行角色与权限认证流程

    场景 使用Shiro的JdbcRealm实现查询数据库进行身份认证: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/9010599 ...

  8. jenkins组权限_Jenkins 中基于角色的权限管理

    !版权声明:本博客内容均均为原创,每篇博文作为知识积累,写博不易,转载请注明出处. 目录[-] 系统环境: Jenkins 版本:2.213 一.简介 Jenkins 一般应用于项目构建与持续集成中, ...

  9. Oracle的用户、角色和权限

    Oracle的用户.角色和权限 一.用户 创建用户的语句 create user  用户名 identified by  密码(不要加引号) default tablespace 默认表空间名 quo ...

最新文章

  1. 分享:个人是怎么学习新知识的
  2. 使用Process.Start打开文件夹或网页
  3. c从sqlite3数据库中获取数据,并对数据进行拼接
  4. 暗杀TIME-WAIT
  5. erp系统服务器怎么关机,服务器怎么设置自动关机
  6. [深度学习] DeepFM 介绍与Pytorch代码解释
  7. 微信机器人wxpy简单实例Python
  8. eplices如何导入外部代码_#华为云·寻找黑马程序员#【代码重构之路】如何优雅的关闭外部资源...
  9. 修改JSONArray里所有key的值
  10. JVM Specification 9th Edition (4) Chapter 3. Compiling for the Java Virtual Machine
  11. 18.链表管理内存实现c语言自动释放内存
  12. 《电子数据取证》读书笔记-第一章
  13. 简述ip地址的abc类如何划分_IP 地址分类及 ABCDE 五类是如何划分的
  14. 电容或电感的电压_电感基础4——什么是LC电路的“谐振频率”?
  15. [易飞]指定日期结存
  16. tushare更新,get_k_data支持分时k线数据,可替代以前的get_hist_data
  17. MATLAB三维绘图(三)绘制等值线图
  18. ios 倒数器_如何利用ps绘制IOS7风格的倒数计时器
  19. 多相机拍照系统3D拍照建模,3D真人手办,博物馆模型制作
  20. Golang调度器GPM原理与调度全分析

热门文章

  1. Apache ShardingSphere-JDBC基本教程
  2. 分布式事务seat对于sql语句的语法要求
  3. 日常电脑操作小技能篇(生活无处不精彩)
  4. 10亿个数中找出最大的10000个数(top K问题)
  5. 马鞍线 matlab,使用matlab编程,怎样画出心形线和马鞍面?
  6. 论文中英对照翻译--(Fusing Multiple Deep Features for Face Anti-spoofing)
  7. 《数据结构课程实践》_03_文本文件单词的检索与计数_准备工作
  8. 如何写个优秀的Github项目Readme文档?经典模版拿去不谢~
  9. java sbt_sbt使用详解
  10. 空间分析与应用实验报告实验一燕麦试验田选址