oracle查询用户的权限

九月课程 2024-04-27 19:58:49

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' );

【声明】:本平台发布及转载文章仅作同行交流学习,部分数据来源于网络,未经证实,并非商业用途,也并非针对具体单位和个人,请勿对号入座,部分内容及图片来源于网络,版权归原作者所有,若未能找到作者和原始出处还望谅解。如有版权疑问,或者文章内容出现侵权行为,请联系本官网后台,我们会第一时间及时进行删除处理,谢谢。

0 阅读:0

九月课程

简介:感谢大家的关注