天天看点

oracle 查看用户、权限、角色

查看用户、权限、角色的命令和视图

1.查看所有用户: 

select * from dba_users; 

select * from all_users; 

select * from user_users; 

2.查看用户系统权限: 

select * from dba_sys_privs; 

select * from session_privs; 

select * from user_sys_privs; 

3.查看用户对象权限: 

select * from dba_tab_privs; 

select * from all_tab_privs; 

select * from user_tab_privs; 

4.查看所有角色: 

select * from dba_roles; 

5.查看用户所拥有的角色: 

select * from dba_role_privs; 

select * from user_role_privs; 

与权限,角色相关的视图大概有下面这些:

   DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限

   USER_SYS_PRIVS:  查询当前用户所拥有的系统权限

   SESSION_PRIVS:    查询当前用户所拥有的全部权限

   ROLE_SYS_PRIVS:   查询某个角色所拥有的系统权限

注意: 要以SYS用户登陆查询这个视图,否则返回空.

   ROLE_ROLE_PRIVS:    当前角色被赋予的角色

   SESSION_ROLES:      当前用户被激活的角色

   USER_ROLE_PRIVS:   当前用户被授予的角色

另外还有针对表的访问权限的视图:

   TABLE_PRIVILEGES

   ALL_TAB_PRIVS   

   ROLE_TAB_PRIVS:     某个角色被赋予的相关表的权限

Oracle 本身的数据字典设计很合理, 因为DBA_xxx, ALL_xxx,USER_xxx

让人一看大概就知道这个视图是干什么用的. 本文简要总结了一下与权限,角色相关的视图.