查询方法:1、用“select*from dba_roles;”可查看所有角色;2、用“select*from dba_role_privs;”或“select * from user_role_privs;”可查看当前用户所拥有的角色。
本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。
何为角色
角色。角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。
权限管理是 Oracle 系统的精华,不同用户登录到同一数据库中,可能看到不同数量的表,拥有不同的权限。
Oracle 的权限分为系统权限和数据对象权限,共一百多种,如果单独对用户授权,很囧,有一些用户需要的权限是相同的,就把这些用户归为同一类——某种角色,通过设立一些有预定权限的角色简化和明确授权操作,角色出现的动机也就是为了简化权限管理,它是权限的集合。
一般做法是:系统把权限赋给角色,然后把角色赋给用户,当然也可以直接把某权限赋给用户。Oracle 提供细粒度的权限,可以对表的某一列单独设置权限,可以对某用户查询某表自动增添 where 限制条件。
Oracle 的角色存放在表 dba_roles 中,某角色包含的系统权限存放在 dba_sys_privs 中,包含的对象权限存放在 dba_tab_privs 中。
oracle查询角色
1、查看所有角色:
select * from dba_roles;
2、查看当前用户所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
扩展知识:
查看当前用户的系统权限和表级权限
select * from user_sys_privs
select * from user_tab_privs
查看用户下所有的表
select * from user_tables
显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace from dba_users
显示当前会话所具有的权限
select * from session_privs
显示指定用户所具有的系统权限
select * from dba_sys_privs
显示特权用户
select * from v$pwfile_users
推荐教程:《Oracle教程》
以上就是oracle怎么查询角色的详细内容,转载自php中文网
发表评论 取消回复