你都知道dba_tables,其他的对象也有相应数据字典,例如dba_sequences,all_objects再根据你需要拼接授权语句。

解决方案 »

  1.   

    有点奇怪,这样的话直接用User1来登录操作不就好了更新后要重新执行是什么意思?
    写个存储过程,将user1下面所有对象的权限赋给user2
    begin
      for x in (select object_type, object_name
                  from user_objects
                 where object_type in ('TABLE',
                                       'VIEW',
                                       'FUNCTION',
                                       'PROCEDURE',
                                       'PACKAGE',
                                       'SEQUENCE')
                   and object_name not like 'BIN$%') loop
        begin
          execute immediate 'grant all on ' || x.object_name || ' to user2';
        exception
          when others then
            dbms_output.put_line(x.object_type || ' ' || x.object_name || ' ' ||
                                 sqlerrm);
        end;
      end loop;
    end;
    /
      

  2.   

    user1下查看 user_objects  里面就包含自己所有的对象,  选择 要赋予权限的内容就行了
      

  3.   

    Quote: 引用 2 楼 wildwave 的回复:
       因为是两个程序,为了区别出来就弄了两个用户,你这个我直接换掉用户执行就可以了吗
      

  4.   


    弱弱的问一下你这个USER1在哪里体现啊 看了半天没看明白呢,我不是想把所有的用户对象都给了,那样还不如给管理员了哈。求指教
      

  5.   


    弱弱的问一下你这个USER1在哪里体现啊 看了半天没看明白呢,我不是想把所有的用户对象都给了,那样还不如给管理员了哈。求指教USER1 用户查询user_objects  就是 user1拥有的对象。 
      

  6.   


    弱弱的问一下你这个USER1在哪里体现啊 看了半天没看明白呢,我不是想把所有的用户对象都给了,那样还不如给管理员了哈。求指教USER1 用户查询user_objects  就是 user1拥有的对象。 
    多谢你们了  搞定