网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle 数据表分区的策略.
.ABOUT : 字符数组.
.工作中遇到的oracle故障分析和处.
.oracle分区表学习及应用.
.利用 Oracle 10g 技能学习 DB2 9.
.新手上路:Oracle分析函数学习笔记.
.Oracle弱智900问十.
.KDD-数据库中的知识发现.
.甲骨文数据显示大陆网格基础建设.
.Oracle约束管理脚本.
.菜鸟经验:oracle与weblogic自动.
.Oracle选择Solaris10作为开发部署.
.关于shared pool的深入探讨(6).
.linux怎么给一个普通用户reboot权.
.9iDBMS_STATS包收集统计信息.
.Oracle 9i取得建表和索引.
.Linux汇编指南.
.详细讲解"Oracle"数据库的“周数.
.开机、关机、线上求助与指令下达.
.ORACLE常见错误代码的分析与解决.

Oracle数据库与用户角色权限相关的视图

发表日期:2008-5-7


一. 概述

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

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.查询当前用户所拥有的权限

Select * from session_privs;

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

可以有多种方式

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)

也会被查询出来

2.Select * from USER_ROLE_PRIVS

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

Select Privilege from ROLE_SYS_PRIVS where ROLE=&Role

输入 role='CONNECT'

输出:

PRIVILEGE

--------------------

ALTER SESSION

CREATE CLUSTER

CREATE DATABASE LINK

CREATE SEQUENCE

CREATE SESSION

CREATE SYNONYM

CREATE TABLE

CREATE VIEW

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

Select GRANTED_ROLE from ROLE_ROLE_PRIVS where ROLE=&ROLE

输入 role= 'DBA'

输出:

GRANTED_ROLE

----------------------

DELETE_CATALOG_ROLE

EXECUTE_CATALOG_ROLE

EXP_FULL_DATABASE

IMP_FULL_DATABASE

PLUSTRACE

SELECT_CATALOG_ROLE

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

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

上一篇:Oracle中SQL语句执行效率的查找与解决 人气:866
下一篇:全面解析Oracle数据库的系统和对象权限 人气:866
浏览全部Oracle的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐