大家好;创建用户a,b,c三个用户,如何设置用户a的权限可以对用户b的所有对象进行如修改、删除、插入、创建、执行等权限呢?
并对用户c的所有对象没有以上权限。那位知道,请帮帮忙,急,多谢多谢!!

解决方案 »

  1.   

    创建好ABC三个用户后,a用户对用户c的所有对象都没有权限访问,要对用户b的所有对象进行访问,需要B用户给A用户授权才行:
    查看B用户下的所有对象: select object_name FROM user_objects ;
    然后游标处理,对B中每个对象给用户A授权 
    execute iommediate 'grant all on'|| object_name||' to a';
      

  2.   

    登陆b用户   grant all on table_name to B;如果是多个表的话    就先查询user_tables  找出所有的表   再执行脚本就是了~
      

  3.   

    我想写个过程在多个用户下自动执行,可在执行到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;
      

  4.   

    这样的话,是把现有的对象权限给了用户b,对于用户a新建的对象就没有权限了,还需重新给予权限,能不能实现用户b对于用户A的对象与用户A对自己的对象操作权限是一样的,并且是同步的呢 ,不用重新给予权限。