刚刚接触Oracle不久 想搞懂Oracle中角色和权限的理解,
希望大家可以说的详细一点啊,不然我看不懂~~谢谢啦 

解决方案 »

  1.   

    1、权限 顾名思义,只有有相应的权限才能操作数据库做相应的操作,比如 你只有具有 create session 权限才能连接到数据库上,只有具有 create table 权限再能建表。2、就上面这么说你能不能看出来,如果想让一个用户具有一个达到某种目标的操作数据库权限,必须不厌其烦的一次一次赋权限,一个用户还好说但是如果有N个用户呢?3、正是由于第二个原因才出现了角色,我们可以把一组权限赋给一个角色,然后再利用角色一次把一组权限赋给用户,这样就省去了一次一次赋权限的过程,省去了很多麻烦。大概就是这样了,如果还不能明白我无能为力了。
      

  2.   

    单个用户->用户组
    单个权限->角色貌似稍微复杂点的系统都会用到。
      

  3.   

    A user privilege is the right to run specific SQL statements.Privileges can be divided into system privilege and object privilege.
    A role is named group of related privileges that you grant to users or other roles.A role helps manage privileges for a database application or user group.Translate them and you will get your answer.
      

  4.   

    利用角色可以简化权限分配,一个role可以分给多个用户。一个权限只能授予一个role或者user
      

  5.   


    不是吧!!!一个权限只能够授予一个role或user.那按照你这样讲的话那么create sessoin的这个权限只能被一种类型的role获取吗?
    那你的意思是我不能够单独把create session权限赋予其他用户了吗?
      

  6.   

        权限就是用户对数据库进行操作的“通行证”。新创建好的用户,是没有任何权限的,甚至连登陆数据库的权限都没有,所以必须由管理员给他授权。比如
         grant create session to user_name;       --登录数据库
         grant select on scott.emp to user_name;       --允许查询scott用户下的emp表
      

  7.   

     在Oracle中,角色就是一个或一组权限的集合!
      

  8.   

    还是我来说两句吧,,,角色和权限,叨唠叨去,反而麻烦了,,,,最通俗的解法,打个比方来说吧,,windows系统总该在用吧数据库中定义的“权限”,就相当于windows系统中的单个用户,比如Administrator,或者user、或者guest;而 ,数据库中定义的“角色”,就相当于windows系统中的某用户组,比如Administrator[color=#FF0000]S,或者userS,或者guestS
    可以这么说,比较形象。不知道是否可以给楼主抛砖引玉,,,,在不明白,,,,BAIDU一下,学学概念,仔细体会一下,,,,找找感觉。
    [/color]
      

  9.   


    这个不错。角色可以看作是权限的机会,permission group.所以权限分为系统权限,对象权限,和角色权限
      

  10.   

    那grant create session to Scott 和grant connect to scott 有什么区别呢? 
    有哪些角色和权限?随便举个例子吧