如果可以的话,直接用DBA角色赋给用户。
grant dba to user_name;

解决方案 »

  1.   

    dba权限过大,我的目的只是建立一个用户可以对一部分用户下的所有的表做修改,而不是数据库所有表做修改。建立角色的方法跟一张一张把表修改权限赋予用户没什么区别,除非我以后经常做这样的操作。
      

  2.   

    对,通过角色赋给权限也不错的选择,就算经常操作也没关影响,楼主意思是什么?在usera下
    create role table_role;
    grant create any table,delete any table,... to table_role;
    在system下
    grnat table_role to userb;
      

  3.   

    这么说吧
    假设有普通用户A、B和C
    用户A有表tableA1,tableA2
    用户B有表tableB1,tableB2
    这是用户C要想修改这四张表,需要先用命令
    GRANT UPDATE ON "A"."tableA1" TO "C"
    GRANT UPDATE ON "A"."tableA2" TO "C"
    GRANT UPDATE ON "B"."tableB1" TO "C"
    GRANT UPDATE ON "B"."tableB2" TO "C"
    一条一条的添加权限,如果还有tableA3、A4等表,重复用的命令就更多。
    我是想请教,是否有命令或者什么方法,直接将A或者B用户的所有表的修改权限
    一次赋予C用户,这样只重复两次就够了。
    如果是创建角色,一样先要一条一条的
    GRANT UPDATE ON "A"."tableA1" TO role_name不知道我说明白了没有,呵呵。
      

  4.   

    那用这麻烦呢,直接用update any table  --更新任何模式中的任何表或视图在用户a下:
    grant update any table to role_name
    grant role_name to c   --确保a用户有grant权限。
    也可以直接赋权限
    grant update any table to c;