日期:2014-05-17  浏览次数:20976 次

oracle中用户创建了角色,那么这个角色只有这个用户可以将它授权给别人么?
oracle中先创建用户和角色,步骤如下:
sql>create user user_name identified by name default tablespace users quota 10M;

sql>grant dba to user_name;       //为用户授权dba;

sql>conn user_name/password;        //进入到user_name用户下

sql>create role role_name;        //创建角色

sql>grant create session,create table, create view to role_name;   //为角色授权

1.刚刚在用户user_name下创建了角色,那么这个角色是属于谁的呢?角色role_name归user_name所拥有?只有user_name才可以将role_name授权给其他用户么?

2.在user_name下怎样查看role_name所拥有的权限呢?如何更改role_name的权限?还有怎样查看user_name创建了哪些角色(不是user_name被授予了哪些角色)?

3.在sys下又创建了户user_name2和user_name3,那么user_name2是否可以查看数据库中是否存在role_name这个角色?

4.可不可以用user_name2将role_name角色授权给user_name3呢?user_name可将role_name授权给user_name2和user_name3吧?

5.role_name是属于user_name的,还是role_name是和user_name,user_name2,user_name3是同一个级别的?
如果role_name是属于user_name的,那么role_name存放在user_name用户的哪里呢?

6.当然也想知道user_name被授予了哪些角色,用什么命令查看呢?

7.如果role_name是和user_name同级的那么他又存放在哪里呢?这样查看?


问的有点多,刚刚接触oracle,希望知道的朋友指点下,谢谢!

------解决方案--------------------
都是按照权限的,所有的这些操作是dba都可以做,没有属于谁的问题。
其实很简单,不用问,操作一下试试看就ok了。
------解决方案--------------------
用户,角色,权限,表空间 这些对象直属数据库

表,视图,序列,存储过程这些对象才有“是谁的”,“是哪个用户的”的说法。

一个角色不管由谁创建,只要别的用户有对它grantable的权限,就可以把它赋给另外一个用户。

dba一般肯定会有grant any role的权限。