Oracle 本身的数据字典设计我个人觉得很合理, 因为DBA_xxx, ALL_xxx,USER_xxx 让人一看大概就知道这个视图是干什么用的. 本文简要总结了一下与权限,角色相关的视图.
一. 概述
与权限,角色相关的视图大概有下面这些:
|
|
|||
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 的 XDB (0次浏览)
·理解 oracle 的 “lsnrctl status” (0次浏览)
·Oracle查询中rownum与Order by查询的关系 (0次浏览)
·实战经验为何数据库归档日志名称为空 (0次浏览)
·快速掌握Oracle数据库游标的使用方法 (0次浏览)
·Oracle Lite 10g数据库第三版正式问世 (0次浏览)
·Oracle 动态SQL返回单条结果和结果集 (0次浏览)
·Oracle多行记录字符串综合操作几种方法 (0次浏览)
·如何通过实例配置Oracle监听器 (0次浏览)
·Oracle Database 11g将在7月11日发布 (2次浏览)
·如何使用ftp从Metalink上下载补丁 (1次浏览)
·与数据库无关的处理放到数据库以外来实现 (0次浏览)
·介绍几个基本的 SQLPLUS 命令 (0次浏览)
·Oracle数据库中LONG类型字段的存取 (0次浏览)
·如何通过实例配置Oracle监听器 (0次浏览)
·Oracle多行记录字符串综合操作几种方法 (0次浏览)
·Oracle 动态SQL返回单条结果和结果集 (0次浏览)
·Oracle Lite 10g数据库第三版正式问世 (0次浏览)
·Oracle体系结构:内存结构和进程结构 (248次浏览)
·开启企业殿堂的钥匙 Oracle服务器的安装 (185次浏览)
·将Oracle的数据导入EXCEL中的方法 (167次浏览)
·oracle下导出某用户所有表的方法 (128次浏览)
·ORACLE的客户端如何连接到数据库 (127次浏览)
·详细讲述 Oracle 密码丢失解决方法 (112次浏览)
·Oracle数据库在线备份原理 (103次浏览)
·八个学习点帮助你全面认识Oracle数据库 (91次浏览)
·Oracle数据库数据锁定机制全面解析 (89次浏览)
·SQL Server 临时表 与 Oracle 临时表 07-08
·oracle与用户角色权限相关的视图 07-08
·Oracle数据库托管型CRM 14版一年内推出 07-06
·ORACLE UPDATE 语句语法与性能分析 07-06
·Oracle10g的current_scn是如何计算的? 07-05
·DB2和 Oracle的并发控制(锁)比较 07-05
·如何共享Oracle数据库身份空间 07-04
·网友经验:学习oracle快速入门随笔 07-04
·Oracle存储过程编写经验和优化措施 07-03
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |




