介绍
角色就是相关权限的命令集合,使用角色的主要目的就是为了简化权限的管理,假定有用户a,b,c为了让他们都拥有以下权限
1)连接数据库
2)在scott.emp表上select,insert,update
如果采用直接授权操作,则需要进行12次授权
因此,此时建立一个角色来拥有这些权限,然后将这些用户都拥有这个角色,就可以让他们都拥有那些权限了,只进行了3次授权。
角色分为预定义角色和自定义角色两类:
1.预定义角色:
预定义角色是指oracle所提供的角色,每种角色都用于执行一些特定的管理任务,下面我们介绍常用的预定义角色connect、resource、dba
1)connect角色
connect角色具有一般应用开发人员需要的大部分权限,当建立了一个用户后,多数情况下,只要给用户授予connect和resource角色就够了,那么connect角色具有哪些系统权限?
alter session //修改会话
create cluster //创建簇
create database link //创建数据库连接
create session //创建会话
create table //创建表
create view //创建视图
create sequence //创建序列
2)resource角色
resource角色具有应用开发人员所需要的其他权限,比如建立存储过程、触发器等。这里需要注意的是resource角色隐含了unlimited tablespace系统权限。
resource角色包含以下系统权限:
create cluster //创建簇
create indextype
create table //创建表
create sequence //创建序列
create type
create procedure
create trigger
3)dba角色
dba角色具有所有的系统权限,及with admin option选项,默认的dba用户为sys和system,他们可以将任何系统权限授予其它用户,但是要注意的是dba用户不具备sysdba和sysoper的特权(启动和关闭数据库)