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的权限。