oracle的角色,用户,权限之间关系

解决方案 »

  1.   

    1、权限      系统权限是执行一种特殊动作或在对象类型上执行一种特殊动作的权利。这些权限可以授权给用户或者角色,不过一般只授予管理人员和应用开发人员,终端用户不需要这些相关功能。获得授权的用户可以将该权限授予其他用户或者角色,也可以从被授权的用户或者角色收回系统权限(不管是不是自己授权的,都可以收回)。
          对象权限是指在指定的表、视图、序列、过程、函数或者包上执行特殊动作的权力。对于不同类型的对象,有不同的对象权限。像聚集,索引,触发器,数据库链等没有相关的对象权限,它们由系统权限控制。模式的所有者对模式中的对象具有全部对象权限。这些对象的所有者可将这些对象上的任何对象权限授予其他用户。被授权的那些用户可以将获得的权限继续授权给其他人。2、角色    角色是相关权限的命名组,可以授权给用户或者角色,但不能出现循环授权
        任何角色都可授权给任何数据库用户
        一个角色可以被授予系统权限,或者对象权限
        角色不包含在任何模式中,所以建立角色的用户被删除后,角色不会受到影响
        创建角色的语句是    create role 角色名
        grant {select on tablename} to rolename为该角色授予一些对象权限和系统权限。角色也需要认证,不过创建角色时默认是不认证的。可以用identified by子句来加上认证
        oracle事先定义了五个角色。conncet具有创建表、视图、序列等权限。resource具有创建过程,触发器,表,序列等权限,dba具有全部系统权限,exp_full_database和mp_full_database具有卸出与装入数据库的权限。可以查询sys_dbs,sys_privs可以了解各种角色拥有的权限。
      

  2.   

    角色是权限的集合,一个角色可包含有多个权限。一个用户可以拥有多个角色。总的来讲用户和角色的设定是用来管理oracle中不同的权限
      

  3.   

    一、用户创建用户的语句
    create user  用户名
    identified by  密码(不要加引号)
    default tablespace 默认表空间名 quota 5M on 默认表空间名
    [temporary tablespace 临时表空间名]
    [profile 配置文件名]                                          //配置文件
    [default role 角色名]                                        //默认角色
    [password expire]                                             //密码失效
    [account lock]                                                   //账号锁定
    修改用户
    alter user 用户名 identified by 密码 quota 10M on 表空间名
    alter user 用户名 account lock/unlock
    删除用户
    drop user 用户名 [cascade].如果要删除的用户中有模式对象,必须使用cascade.
    2、权限:
    系统权限是执行一种特殊动作或在对象类型上执行一种特殊动作的权利。这些权限可以授权给用户或者角色,不过一般只授予管理人员和应用开发人员,终端用户不需要这些相关功能。获得授权的用户可以将该权限授予其他用户或者角色,也可以从被授权的用户或者角色收回系统权限(不管是不是自己授权的,都可以收回)。
          对象权限是指在指定的表、视图、序列、过程、函数或者包上执行特殊动作的权力。对于不同类型的对象,有不同的对象权限。像聚集,索引,触发器,数据库链等没有相关的对象权限,它们由系统权限控制。模式的所有者对模式中的对象具有全部对象权限。这些对象的所有者可将这些对象上的任何对象权限授予其他用户。被授权的那些用户可以将获得的权限继续授权给其他人。
    3、角色角色是相关权限的命名组,可以授权给用户或者角色,但不能出现循环授权
    任何角色都可授权给任何数据库用户
    一个角色可以被授予系统权限,或者对象权限
    角色不包含在任何模式中,所以建立角色的用户被删除后,角色不会受到影响
    创建角色的语句是    create role 角色名
    grant {select on tablename} to rolename为该角色授予一些对象权限和系统权限。角色也需要认证,不过创建角色时默认是不认证的。可以用identified by子句来加上认证
    oracle事先定义了五个角色。conncet具有创建表、视图、序列等权限。resource具有创建过程,触发器,表,序列等权限,dba具有全部系统权限,exp_full_database和mp_full_database具有卸出与装入数据库的权限。可以查询sys_dbs,sys_privs可以了解各种角色拥有的权限。