日期:2014-05-16  浏览次数:20531 次

角色管理
角色管理

角色定义
             角色是将系统权限分配给用户的中间的类用户或权限装载容器,可以给某些角色一定的权限,当某个用户需要一定权限时,把一个具有和他所要的权限相同的角色赋予他就可,这样省时高效。
一、建立角色
       1、格式:Create Role 角色名 [Not Identified |Identified By 口令 |Externally]
       2、说明:Not Identified:指出授予该角色的用户在使用时不需要检验;
                    Identified By:指出授予该角色的用户在使用Set Role命令时需检验。
                    检验的方式:
                            a)口令
                            b)Externally:有操作系统检验的口令;
        3、实例:
              Create Role StudentRole  或
              Create Role StudentRole  Identified By Studentrole
                
二、查看角色
       1、使用数据字典:Role Sys Privs; 角色的系统权限
       2、实例:
             Select * From Role_Sys_Privs WhereRole=‘STUDENTROLE’;
三、修改角色
       1、格式:Alter Role角色名 [Not Identified | Identified By 口令 |Externally]
       2、实例:
            Alter Role StudentRole Not Identified;
四、使用角色为用户赋予权限
       1、功能:使用角色为用户赋予权限便于用户的区分,而DBA也不用每个用户都重新赋予某些权限,快!
       2、实现过程:先给角色赋予相应的权限,然后再把角色像赋予权限一样赋予用户,用户就具有和角色一样的权限了。
       3、实例:
            (1)Create Role StudentRole;
            (2)Grant Create Session,Create Table, Create View,Create Procedure To StudentRole;
            (3)Grant StudentRole To Student01 或 Public;
       4、角色权限的回收:
             Revoke  权限 From角色;
五、删除角色
       1、格式:Drop Role角色名
       2、实例:
             Drop Role StudentRole; 不影响用它已经授予的用户的权限

数据库角色

角色相当于一个windows中的组,比如我们属于administrators组,我们就拥有administrator的所有权限,oracle为了方便管理也预定义了很多的组:
比如:
connect     连上Oracle,做最基本操作
resource  具有程序开发最基本的权限
dba          数据库管理员所有权限
exp-full-database  可把数据库整个备份输出的权限
imp-full-datsabase 可把数据库整个备份恢复输入的权限

给用户分配角色
Connect system/manager;
Grant connect to tea;
Grant resource to tea;