FREE教程
目录
  • 主页
  • Oracle教程
  • redis教程
  • hadoop
  • ODI教程
  • BIEE教程
Oracle管理
Oracle管理 OEM介绍 启动OEM OEM中性能菜单 OEM中可用性菜单 OEM中服务器菜单 OEM中方案菜单 OEM中数据移动菜单 Oracle控制文件 Oracle日志文件 Oracle管理日志文件 Oracle添加日志文件组 Oracle添加日志文件进文件组 Oracle删除日志文件 Oracle删除日志文件组 Oracle表空间 Oracle创建表空间 Oracle删除表空间 Oracle临时表空间 oracle临时表空间组 Oracle用户管理 Oracle创建用户 Oracle修改删除用户 Oracle权限授权管理 Oracle撤销权限 Oracle角色 Oracle概要文件profile oracle体系结构概述 Oracle系统基本轮廓和体系结构 oracle实例是什么 oracle进程 Oracle内存结构
分类导航
Oracle基础教程 PL/SQL教程 Oracle管理 Oracle备份和恢复 Oracle RAC Oracle优化 Oracle技术 redis基础教程 hadoop教程
    首页->Oracle教程->Oracle管理->Oracle角色
Oracle撤销权限
Oracle概要文件profile

Oracle角色

Oracle角色其实就是一组权限的集合,比如我们经常用的DBA、connect、resource等角色,都是Oracle系统为我们定义好的一些常用的角色,一般利用这些角色就可以控制好不同需求用户的权限。

Oracle中角色可以授予给多个用户,并且一个用户可以设置多个角色。因此,Oracle数据库也提供了自定义角色的功能,方便不同用户的权限授予。例如,可以自定义个一个角色,可以查询、更新特定几个关联表的权限。那么以后但凡有用户想用到这些表的操作权限时,可以直接给该用户设置定义好的角色。

Oracle创建角色

Oracle创建角色分为两个步骤:创建角色、给角色授权:

1、创建角色的语法结构:

create role role_name ;

2、授予角色权限的语法结构:

授予角色权限的语法结构和授予用户权限的语法结构一样,只是授予对象是角色而不是对象而已,具体语法如下:

--授予系统权限
grant system_privilege|all privileges to role_name
[with admin option]
--授予对象权限
grant obj_privilege|all 
on obj_name  to role_name
[with grant option]

例1、利用上面创建角色的语法结构,创建一个具有操作学生信息表(stuinfo)和班级表(class)权限的角色student_role,具体代码如下:

--创建角色 student_role
create role student_role;

--给student_role授于操作stuinfo、class的操作权限
grant all on student.stuinfo to student_role;
grant all on student.class to student_role;

然后,通过数据字典role_tab_privs(角色对应的对象操作权限)、role_sys_privs(角色对应的系统权限)查询对应的权限,如下,可以发现student_role已经具有了表stuinfo和表class的所有操作权限。

oracle角色

设置角色

角色创建好后,并不是直接生效,而是要把角色设置给对应的用户后才能生效的。具体语法如下:

grant role_name to user;

例2、把角色student_role授权给teacher用户,使得teacher用户可以直接操作stuinfo表和class表的权限。代码如下:

grant student_role to teacher;

然后,可以通过数据字典dba_role_privs查看下,用户teacher设定好的角色。发现已经存在student_role角色,如下:

Oracle角色

Oracle撤销权限
Oracle概要文件profile
关于我们 | 免责声明 | Copyright ? 2018 FREE教程 | 备案号:闽ICP备18020855号-1
公安备案

闽公网安备 35020602001245号