大家好:创建用户a,b,c,想只允许用户a对用户b的所有对象有修改、执行、删除、选择等权限,但用户c只有查看a的权限。
请问权限如何设置。

解决方案 »

  1.   

    oracle在权限管理方面,没有直接提供基于schema级别的权限,你需要针对对象来进行赋权限。
      

  2.   

    我想写个过程在多个用户下自动执行,可在执行到execute时报错:
    ORA-00990: missing are invalid privilege
    用PL/SQL中用dba权限的用户执行也报错。请问以下过程那里写的有问题吗?执行不成功。多谢!
    create or replace procedure test_grant
    as
    v_object varchar2(100);
    v_sql varchar2(200);
    cursor c_emp is select object_name from user_objects where object_name = 'ACCNTAB_HIS';
    begin
      open c_emp;
      loop
      fetch c_emp into v_object;
      exit when c_emp%notfound;
      v_sql:='grant all on'||v_object||'to mdr';
      execute immediate v_sql;
      end loop;
      close c_emp;
    end test_grant;这样的话,是把现有的对象权限给了用户b,对于用户a新建的对象就没有权限了,还需重新给予权限,能不能实现用户b对于用户A的对象与用户A对自己的对象操作权限是一样的,并且是同步的呢 ,不用重新给予权限。