oracle数据库用户之间受权

 今天遇到一个数据库的问题:sql

  系统数据库用户下建立了几个视图用于外部系统开发报表使用,当外部系统提取视图数据时,须要经过一个只能访问须要视图权限的用户,因而想到给他建立一个新的用户,并给这个用户分配只能访问这几个视图的权限。数据库

  1.   使用 oracle sql developer 客户端登录数据库。
  2.   查看当前数据库用户权限:

 

   DBA_SYS_PRIVS描述授予用户和角色的系统权限。oracle

  oracle—DBA_SYS_PRIVS数据字典

   


 

   查看用户系统权限:select * from dba_sys_privs;ide

   

 

  


 

   USER_SYS_PRIVS描述了授予当前用户的系统权限。server

   USER_SYS_PRIVS

   


 

    查看用户系统权限:select * from user_sys_privs;htm

    

 

    三、由于系统数据库用户拥有dba权限,因此,使用数据库系统用户建立用户:blog

     create user BI identified by 123;开发

    

    

    

    四、给BI用户受权链接权限:get

      grant connect to BI;it

    

    五、给BI用户受权

      grant RESOURCE to BI;

    

    六、给BI用户受权select 某视图的权限:

    七、使用BI用户链接数据库:

      查询视图发现提示表或视图不存在

      在视图前加上视图全部者用户名称则能够查询成功。 eg: select * from ORCL.VW_STAFF;

    七、给BI用户受权同义词权限:

    八、使用BI用户链接数据库:

    九、建立同义词视图:

    十、直接查询视图名称则能够查询

    十一、可是登录BI用户,则在视图列表里看不到任何视图,如何可以查询而且登录用户也能看到该视图?

相关文章
相关标签/搜索