我有一个很多权限的用户的 
现在想新建一个用户 但是权限要限制下
能查看A表 能更新B表 请问怎么操作??

解决方案 »

  1.   

    GRANT resource to 新建用户;
    GRANT connect to 新建用户;GRANT SELECT ON A TO 新建用户;
    GRANT UPDATE ON B TO 新建用户;应该够用了吧
      

  2.   

    1.create user 用户名 identified by  密码 
    2.grant select on A to 用户名
    grant update on B to 用户名
    3.或resoure to 用户名
      

  3.   


    ORACLE中数据字典视图分为3大类,用前缀区别,
    分别为:USER,ALL 和 DBA,许多数据字典视图包含相似的信息。
    USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息
    ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息
    DBA_*:有关整个数据库中对象的信息
    (这里的*可以为TABLES, INDEXES, OBJECTS, USERS等。
    1.查看所有用户:
    select * from dba_user;
    select * from all_users;
    select * from user_users;
    2.查看用户系统权限:
    select * from dba_sys_privs;
    select * from all_sys_privs;
    select * from user_sys_privs;
    3.查看用户对象权限:
    select * from dba_tab_privs;
    select * from all_tab_privs;
    select * from user_tab_privs;
    4.查看所有角色:
    select * from dba_roles;
    5.查看用户所拥有的角色:
    select * from dba_role_privs;
    select * from user_role_privs;6.查看当前用户的缺省表空间
    select username,default_tablespace from user_users;7.查看某个角色的具体权限,如grant connect,resource,create session,create view to TEST;查看RESOURCE具有那些权限,用SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE';
      

  4.   


    grant select on A to 新建用户                *ERROR 位于第 1 行: 
    ORA-00942: 表或视图不存在 grant update on B to 新建用户
                    *ERROR 位于第 1 行: 
    ORA-00942: 表或视图不存在大哥 有错啊
      

  5.   

    grant select on 所属用户.A to 新建用户;
    grant update on 所属用户.B to 新建用户;
      

  6.   

    确定两个问题
    1. A所属用户和新建的用户是不是属于同一个实例、
    2. 确定A所属用户登陆以后能看到对应的A表
      

  7.   


    可以了
    但是我用PL/SQL登录不上去呢?? 登录不上去 我程序就用不了啊
      

  8.   

    GRANT resource to 新建用户;
    GRANT connect to 新建用户;
    都授权了吗
      

  9.   

    create user user1 identified by 密码grant  connect to user1
    grant select on 建表用户.A to user1grant update on 建表用户.B to user1
      

  10.   

    现在可以登录了 
    但是 我的程序里 用查询A表的记录查不出来呢
    select count(*) from AMT_ACCOUNT where ACCOUNTID = '" + User.accountid + "' and PASSWORD = '" + User.password + "'"我用所属用户的话 上面这个SQL就能查出来 用新建的用户就不能查询
      

  11.   


    select count(*) from 加个创建此对象的用户.AMT_ACCOUNT
      

  12.   


    我用PL/SQL登录以后 看到Tables里是空的