角色其实就是一组权限的集合,比如我们经常用的DBA、connect、resource等角色,都是Oracle系统为我们定义好的一些常用的角色,一般利用这些角色就可以控制好不同需求用户的权限。
Oracle中角色可以授予给多个用户,并且一个用户可以设置多个角色。因此,Oracle数据库也提供了自定义角色的功能,方便不同用户的权限授予。例如,可以自定义个一个角色,可以查询、更新特定几个关联表的权限。那么以后但凡有用户想用到这些表的操作权限时,可以直接给该用户设置定义好的角色。
创建语法
create role role_name ;
授予角色权限的语法
--授予系统权限
grant system_privilege|all privileges to role_name
[with admin option]
--授予对象权限
grant obj_privilege|all
on obj_name to role_name
[with grant option]
例:
--创建角色 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;
设置角色
角色创建好后,并不是直接生效,而是要把角色设置给对应的用户后才能生效的。具体语法如下:
grant role_name to user;
例:
grant student_role to teacher;
文档更新时间: 2020-10-27 10:06 作者:张尚