重庆思庄技术分享——oracle查询用户的权限

本文详细介绍了如何在Oracle数据库中查询用户的权限,包括不同级别的权限如DBA、ALL、USER,以及如何查看用户、角色的权限信息,如session、表级权限等。
摘要由CSDN通过智能技术生成

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值