我有一个数据库,数据库里面有两个用户writer和reader,他们所处的表空间是不同的。
writer是一个dba用户,reader是一个受限制用户。
我不能把reader创建成dba,我允许reader在自己的表空间里面创建任意的数据表、视图、函数、存储过程、索引,在获得writer授权的情况下,可以“只读”writer用户下的部分数据表。
请问,我应该如何创建reader用户,如何给他分配角色?

解决方案 »

  1.   

    我再解释一下,我要创建的用户是reader,他的权限要求是这样的:
    (1)reader不能是dba,他是受限制的,他不能随便访问其他用户的数据表。
    (2)reader用户能够在自己的表空间里随意创建视图、索引、数据表等数据库资源。
    (3)其他用户可以把自己的数据表的select、references权限赋予reader用户。
    问题:
    这个用户怎么创建,该分配什么角色?
      

  2.   

    这个 ,貌似 connect,resource就可以了吧
    其他的只读权限,就让各个用户赋予就可以了吧
      

  3.   

    查看其他的只需 grant connect,resource to reader
      

  4.   


    -- 创建 reader 用户帐户,默认用户表空间为 reader_ts,在其上的配额没有限制
    -- 由于在其他表空间上没有配额,reader 无法在其他表空间上创建对象
    create user reader 
    identified by password
    default tablespace reader_ts
    quota unlimited on reader_ts;-- 授予 reader 登陆数据库的权限
    grant create session to reader;
    -- 授予 reader 角色 resource 以允许 reader 创建表、视图、函数、存储过程、索引
    grant resource to reader;
    -- 授予 reader 读取 writer 下表的权限
    grant select on writer.tablename to reader;
      

  5.   

    引用 3 楼 huangdh12 的回复:这个 ,貌似 connect,resource就可以了吧
    其他的只读权限,就让各个用户赋予就可以了吧
    +1