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/