oracle查询用户的权限

DBA_* 描述的是数据库中的所有对象

    ALL_* 描述的是当前用户有访问权限的所有对象

    USER_* 描述的是当前用户所拥有的所有对象

 

    查看所有用户: 

    select * from dba_users;    --->显示所有用户的详细信息

    select * from all_users;      --->显示用户及用户id和创建用户时间三个字段

    select * from user_users;   --->显示当前用户的详细信息。

    查看当前用户: 

    select * from v$session;     --->查看所有连接信息

 

查看角色:

select * from user_role_privs;  --->当前用户被授予的角色

select * from dba_role_privs;    --->全部用户被授予的角色

select * from dba_roles;             --->查看所有角色

Select * from ROLE_ROLE_PRIVS;   --->查看所有角色被赋予的角色

 

    基本权限查询: 

    select * from session_privs;  --->当前用户所拥有的全部权限 

    select * from user_sys_privs;  --->当前用户的系统权限 

    select * from user_tab_privs;  --->当前用户的表级权限 

    select * from dba_sys_privs;  --->所有用户的拥有的权限,可查询某个用户所拥有的系统权限 

    select * from role_sys_privs;  --->查看角色(只能查看登陆用户拥有的角色)所包含的权限

 

查看用户对象权限: 

select * from dba_tab_privs;        --->查看所有用户的对象权限

select * from all_tab_privs;   --->查看当前用户的所拥有对象

select * from user_tab_privs;  --->查看当前用户的对象权限

select * from V$PWFILE_USERS;  --->查看当前用户有sysdba或sysoper系统权限(查询时需要相应权限) 

 

查看一个用户的所有权限包含其角色的权限

select privilege from dba_sys_privs where grantee='SCOTT'  
union  
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='SCOTT' ); 

 

转载:http://blog.itpub.net/29500582/viewspace-1314555/

posted @ 2023-11-28 10:44  雪竹子  阅读(98)  评论(0编辑  收藏  举报