由于工作原因,我们公司的数据库需要被其他公司访问。现在我已经专门另建了一个表空间(TBS_A)和用户(usr_a)。请问我应该如果设置用户 usr_a 的权限,使对方通过 DB_LINK 访问我库时,只能查询我提前建好的几个视图,其他一概做不了(不允许建表,不允许删除任务对象,不允许select 任何表,不允许查看任何对象,总之只能select我建好的几个视图),谢谢。

解决方案 »

  1.   

    oracle有精确授权,网上搜一下吧
      

  2.   

    CREATE USER aa IDENTIFIED BY aa;
    GRANT CREATE SESSION TO aa;
    GRANT SELECT ON view_name TO aa;
      

  3.   

    补充一下:"只能查询我提前建好的几个视图" 创建成read only的
      

  4.   

    那你就授select权限就可以了,不要授权insert,update,delete他们就没办法动你的数据库
      

  5.   

    哎!
    我就不理解怎么用DB_LINK 访问???不是通过外网IP么???DB_LINK 是指不同用户不同表空间  没有访问权限(而且不可以给他访问权限)才采用DB_LINK 
      

  6.   


    dblink 是为了方便在数据库层对不同数据库的访问,还有就是一个事务中对多个数据库的访问