电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 2014 人浏览分享

oracle下如何查看某个角色被授予的权限?

[复制链接]
2014 0
本帖最后由 zhaorong 于 2018-2-2 11:56 编辑

oracle下如何查看某个角色被授予的权限?

select * from dba_role_privs; 授予用户和其他角色的角色

select * from dba_sys_privs; 授予用户和其他角色的系统权限

select * from dba_tab_privs; 数据库中对象的所有授权

参考:查看角色 权限 oracle 谷歌

DBA是用户名,是角色名?角色名

=========================================

oracle 角色和权限的关系查看

例如:要查看 scott 具有的角色,可查询 dba_role_privs;

  1. SQL> select * from dba_role_privs wheregrantee='SCOTT';
复制代码


//查询 orale 中所有的系统权限,一般是dba

  1. select * from system_privilege_map order byname;
复制代码


//查询 oracle 中所有对象权限,一般是dba

  1. select distinct privilege from dba_tab_privs;
复制代码


//查询 oracle 中所有的角色,一般是dba

  1. select * from dba_roles;
复制代码


//查询数据库的表空间

  1. select tablespace_name fromdba_tablespaces;
复制代码


问题 1:如何查询一个角色包括的权限?

a.一个角色包含的系统权限

  1. select * from dba_sys_privs where grantee='角色名'
  2. select * from dba_sya_privs where grantee='COONNECT'; connect要大写
复制代码

另外也可以这样查看:

  1. select * from role_sys_privs where role='角色名'
复制代码

b.一个角色包含的对象权限

  1. select * from dba_tab_privs where grantee='角色名'
复制代码


问题 2:oracle 究竟 多少种角色?

  1. SQL> select * from dba_roles;
复制代码


问题 3:如何查看某个用户,具 什么样的角色?

  1. select * from dba_role_privs wheregrantee='用户名'
复制代码


显示当前用户可以访问的所有数据字典视图。

  1. select * from dict where comments like'%grant%';
复制代码


显示当前数据库的全称

  1. select * from global_name;
复制代码



其它说明

数据字典记录 oracle 数据库的所有系统信息。通过查询数据字典可以取得以

下系统信息:比如

1.对象定义情况

2.对象 占用空间大小

3.列信息

4.约束信息

...

但是因为这些个信息,可以通过 pl/sql developer工具查询得到,所以这里我

就飘过。

=======================

详解查看Oracle用户权限的七种方法

查看Oracle用户权限一般要通过一些实际操作,首先需要遍历所有用户,
然后才是查看Oracle用户的权限等等操作。希望本文能给大家有所帮助。

1.查看所有用户:

  1. select * from dba_users;
  2. select * from all_users;
  3. select * from user_users;
复制代码

2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):

  1. select * from dba_sys_privs;
  2. select * from user_sys_privs;
复制代码


3.查看角色(只能查看登陆用户拥有的角色)所包含的权限

复制代码

4.查看用户对象权限:

  1. select * from dba_tab_privs;
  2. sele ct * from all_tab_privs;
  3. select * from user_tab_privs;
复制代码

5.查看所有角色:

  1. select * from dba_roles;
复制代码

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

  1. select * from dba_role_privs;
  2. select * from user_role_privs;
复制代码


7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)

  1. select * from V$PWFILE_USERS
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.