角色和用户

角色并不属于对象,因此角色并不存储在数据库的用户下。

 

 

角色和用户属于同一个命名空间,角色的名称和用户的名称不能相同。

SQL> CREATE USER U1 IDENTIFIED BY U1;

用户已创建。

SQL> CREATE ROLE U1;
CREATE ROLE U1
            *
1 行出现错误:
ORA-01921:
角色名 'U1' 与另一个用户名或角色名发生冲突

用户拥有CREATE ROLE权限后,可以建立角色,在建立角色后,被自动授予这个角色且包含管理权限。

不过这个权限可以由其他由管理权限的用户从创建者收回,而且删除创建者并不会影响这个角色的存在:

SQL> GRANT DBA TO U1;      

授权成功。

SQL> CONN U1/U1
已连接。
SQL> CREATE ROLE R_U1;

角色已创建。

SQL> SELECT *
  2  FROM DBA_ROLE_PRIVS
  3  WHERE GRANTEE = USER;

GRANTEE                        GRANTED_ROLE                   ADM DEF
------------------------------ ------------------------------ --- ---
U1                             DBA                            NO  YES
U1                             R_U1                           YES YES

SQL> GRANT R_U1 TO YANGTK WITH ADMIN OPTION;

授权成功。

SQL> CONN YANGTK
输入口令:
已连接。
SQL> REVOKE R_U1 FROM U1;

撤销成功。

SQL> SELECT *
  2  FROM DBA_ROLE_PRIVS
  3  WHERE GRANTEE = 'U1';

GRANTEE                        GRANTED_ROLE                   ADM DEF
------------------------------ ------------------------------ --- ---
U1                             DBA                            NO  YES

SQL> DROP USER U1;

用户已删除。

SQL> SELECT *
  2  FROM DBA_ROLE_PRIVS
  3  WHERE GRANTEE = USER;

GRANTEE                        GRANTED_ROLE                   ADM DEF
------------------------------ ------------------------------ --- ---
YANGTK                         R_U1                           YES YES
YANGTK                         RESOURCE                       NO  YES
YANGTK                         DBA                            NO  YES
YANGTK                         CONNECT                        NO  YES

其实要说角色不存在任何用户内也不准确,毕竟角色信息是保存在数据字典中,也就是SYS用户下,不过角色并不像其他对象那样需要一个明确的OWNER,即使角色的创建者被删除也不会影响到角色本身。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-674913/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/4227/viewspace-674913/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值