想知道一个USER 当前被授予了什么ROLES??

[复制链接]
查看11 | 回复6 | 2011-11-16 22:31:22 | 显示全部楼层 |阅读模式
想知道一个USER 当前被授予了什么ROLES??
回复

使用道具 举报

千问 | 2011-11-16 22:31:22 | 显示全部楼层
知道了 , 好象是DBA_ROLE_PRIVS
不过我不知道DBA_ROLE_PRIVS里的RESOURCE是什么权限?
回复

使用道具 举报

千问 | 2011-11-16 22:31:22 | 显示全部楼层
资源权限。
回复

使用道具 举报

千问 | 2011-11-16 22:31:22 | 显示全部楼层
试试这样吧
SQL> conn system/manager
Connected.
SQL> select * from session_roles;
ROLE
------------------------------
DBA
SELECT_CATALOG_ROLE
HS_ADMIN_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE
GATHER_SYSTEM_STATISTICS
WM_ADMIN_ROLE
JAVA_ADMIN
JAVA_DEPLOY
XDBADMIN
OLAP_DBA
PLUSTRACE
AQ_ADMINISTRATOR_ROLE
SALES_HISTORY_ROLE
16 rows selected.
SQL> create user t
2identified by t;
User created.
SQL> grant connect,resource to t;
Grant succeeded.
SQL> conn t/t
Connected.
SQL> select * from session_roles;
ROLE
------------------------------
CONNECT
RESOURCE
SQL>
回复

使用道具 举报

千问 | 2011-11-16 22:31:22 | 显示全部楼层
查ROLE具有的系统权限,试试如下
SQL> conn t/t
Connected.
SQL> select * from session_roles;
ROLE
------------------------------
CONNECT
RESOURCE
SQL> select privilege
2from role_sys_privs
3where role='RESOURCE';
PRIVILEGE
----------------------------------------
CREATE TYPE
CREATE TABLE
CREATE CLUSTER
CREATE TRIGGER
CREATE OPERATOR
CREATE SEQUENCE
CREATE INDEXTYPE
CREATE PROCEDURE
8 rows selected.
SQL> select privilege
2from role_sys_privs
3where role='CONNECT';
PRIVILEGE
----------------------------------------
CREATE VIEW
CREATE TABLE
ALTER SESSION
CREATE CLUSTER
CREATE SESSION
CREATE SYNONYM
CREATE SEQUENCE
CREATE DATABASE LINK
8 rows selected.
回复

使用道具 举报

千问 | 2011-11-16 22:31:22 | 显示全部楼层
察看被授予的角色应该是DBA_ROLE_PRIVS,session_roles看的是当前会话启用的角色
回复

使用道具 举报

千问 | 2011-11-16 22:31:22 | 显示全部楼层
最初由 Ora-600 发布
[B]察看被授予的角色应该是DBA_ROLE_PRIVS,session_roles看的是当前会话启用的角色 [/B]

同意!
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行