本人刚学oracle,有些问题请教,现在使用的是oracle11g
在使用oracle进行开发时,我想单独建立个用户名username,密码password,授予权限,使用这个用户名进行开发.现在有如下问题:
问题1.是使用users表空间,还是需要新建一个新的表空间好点?如果新建的好点,就建个mytablespace。用户名username的表空间是第一步的表空间问题2.开发和给用户使用时需要的权限是创建表,存储过程,视图,触发器,索引等等常用的操作。如何将这些权限赋予username? oracle数据库中connect,resource角色只有一些创建的权限,还需要一些执行方面的权限。如何解决这些问题?学习中遇到的一个问题:
以sys/admin@test_db as sysdba登录,给用户developer 赋予权限
grant connect,resource to developer
报错:ora-01917:???? 'DEVELOPER'???怎么回事

解决方案 »

  1.   

    1.都可以。
    2。resource有执行这些存储过程,触发器的权限。
    3。ora-01917是用户不存在。创建一个用户先。
      

  2.   

    谢谢,第二个问题不知道是我买的书有问题,还是版本的问题。我的书上只列出Create方面的权限,但是exp_full_database这个角色有execute any procedure的权限。还有一个问题
    GRANT 
      CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
      ALTER ANY TABLE, ALTER ANY PROCEDURE,
      DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
      SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
      TO username;
    在上面的
    CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
      ALTER ANY TABLE, ALTER ANY PROCEDURE,
      DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
      SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
    这些都是些待赋予的权限,但是这只是一部分,在哪个表里能找到所有的?
      

  3.   

    resource 能够执行自己创建的对象。
    但是一个普通开发者要想赋予执行数据库中任意对象的权限,需要加你所说的带有any的权限。
    好象楼主要建立一个超级开发者。conn / as sysdba;
    select privilegE from dba_sys_privs  where privilege like '%ANY%'
    /
      

  4.   


    1,都可以的,不过个人觉得还是窗建一个新的表空间为好。2,对于开发用户来说,给予connect, resource角色足够了。都有创建表,存储过程,视图,触发器,索引等等常用权限。3,报错:ora-01917:???? 'DEVELOPER'???怎么回事】 是标识用户或者对象不存在,你得先创建一个对象才能授予权限啊!
      

  5.   

    报错是因为没有创建用户,我边看书边记录到text文本,文本记录下了,结果忘记在数据库里创建了
      

  6.   

    给用户使用时是不是需要给个不同权限的用户名和密码
    还是和开发者相同的权限?因为用户使用时不需要创建,他们只要执行sql语句或存储过程就可以了
      

  7.   


    select privilegE from dba_sys_privs  where privilege like '%ANY%' 
    OK
      

  8.   


    看你自己的权限的控制如何了,一般开发者的权限是没有隐患问题的。开发者对oracle系统模块没有操作权限,所以不会影响oracle的稳定。
      

  9.   


    revoke create any object to username;好了,收回用户创建任何对象的权限。