详解Oracle用户权限视图的使用

数据库 Oracle
在这里我们将介绍Oracle用户权限视图的使用,希望本文能对大家了解Oracle用户权限有所帮助。

本文将为大家介绍Oracle用户权限视图的使用方法,包括一些Oracle用户权限视图的命令等。希望能对大家日常数据库维护有所帮助。

查看当前用户:SQL>select  user from dual;

一. Oracle用户权限视图概述

与权限,角色相关的视图大概有下面这些:

DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限

USER_SYS_PRIVS: 当前用户所拥有的系统权限

SESSION_PRIVS: 当前用户所拥有的全部权限

ROLE_SYS_PRIVS: 某个角色所拥有的系统权限

注意: 要以SYS用户登陆查询这个视图,否则返回空.

ROLE_ROLE_PRIVS: 当前角色被赋予的角色

SESSION_ROLES: 当前用户被激活的角色

USER_ROLE_PRIVS: 当前用户被授予的角色

另外还有针对表的访问权限的视图:

TABLE_PRIVILEGES

ALL_TAB_PRIVS

ROLE_TAB_PRIVS: 某个角色被赋予的相关表的权限

...

二.Examples

1.查询当前用户所拥有的权限

  1. Select * from session_privs; 

2.查询某个用户被赋予的系统权限:

可以有多种方式

  1. Select * from user_sys_privs; 

或者: select * from DBA_SYS_PRIVS where grantee='XXX'

(需要当前用户拥有DBA角色)

3.查询当前用户被授予的角色:

  1. Select * from SESSION_ROLES order by ROLE 

说明: 这个查询会返回当前用户所被授予的全部角色, 其中包括

嵌套授权的角色. 例如将DBA角色授予了一个用户,DBA角色

已经被授予的角色(例如 exp_full_database 和 imp_full_database)

也会被查询出来

  1. Select * from USER_ROLE_PRIVS 

4.查询某一角色被赋予的系统权限

  1. Select Privilege from ROLE_SYS_PRIVS where ROLE=&Role 

输入 role='CONNECT'

输出:

  1. PRIVILEGE  
  2. --------------------  
  3. ALTER SESSION  
  4. CREATE CLUSTER  
  5. CREATE DATABASE LINK  
  6. CREATE SEQUENCE 
  7. CREATE SESSION  
  8. CREATE SYNONYM  
  9. CREATE TABLE 
  10. CREATE VIEW 

5. 查询当前角色被授予的角色

  1. Select GRANTED_ROLE from ROLE_ROLE_PRIVS where ROLE=&ROLE 

输入 role= 'DBA'

输出:

  1. GRANTED_ROLE  
  2. ----------------------  
  3. DELETE_CATALOG_ROLE  
  4. EXECUTE_CATALOG_ROLE  
  5. EXP_FULL_DATABASE  
  6. IMP_FULL_DATABASE  
  7. PLUSTRACE  
  8. SELECT_CATALOG_ROLE 

说明: PLUSTRACE这个角色是用于执行SQL AUTO TRACE的, 通过执行

$ORACLE_HOME/sqlplus/admin/plustrce.sql可以生成这个角色。

【编辑推荐】

  1. Oracle用户权限及角色管理浅谈
  2. Oracle用户权限的创建及分配
  3. Oracle默认用户名与密码速查表
  4. 在命令行下进行Oracle用户解锁
  5. 五种Oracle用户的授权与管理

 

责任编辑:彭凡 来源: ITPUB博客
相关推荐

2009-11-03 17:08:38

Oracle修改用户权

2009-11-02 14:53:30

Oracle创建用户权

2010-10-28 11:24:05

oracle用户权限

2009-10-29 16:32:24

查看Oracle用户的

2010-10-28 13:07:56

Oracle syst

2010-10-29 10:46:23

Oracle超级用户

2009-10-27 17:39:39

Oracle用户权限

2010-09-27 14:36:24

SQL Server用

2010-03-31 15:38:33

Oracle用户

2010-04-21 12:24:02

Oracle用户权限

2009-03-18 09:45:32

教程管理用户

2010-10-28 11:29:18

ORACLE用户权限

2009-10-27 18:01:46

2010-05-10 14:04:01

Oracle系统用户权

2010-04-21 13:10:53

Oracle用户权限

2009-10-21 14:27:12

Oracle用户权限分

2009-10-21 14:48:39

Oracle用户权限表

2009-11-24 17:20:48

Oracle查看用户表

2009-10-26 14:37:03

Oracle如何解锁用

2009-10-22 17:17:54

Oracle给用户解锁
点赞
收藏

51CTO技术栈公众号