经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
oracle数据库用户之间授权
来源:cnblogs  作者:菜鸟瞎扑腾  时间:2019/6/27 9:24:54  对本文有异议

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

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

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

 

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

  oracle—DBA_SYS_PRIVS数据字典

   


 

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

   

 

  


 

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

   USER_SYS_PRIVS

   


 

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

    

 

    3、因为系统数据库用户拥有dba权限,所以,使用数据库系统用户创建用户:

     create user BI identified by 123;

    

    

    

    4、给BI用户授权连接权限:

      grant connect to BI;

    

    5、给BI用户授权

      grant RESOURCE to BI;

    

    6、给BI用户授权select 某视图的权限:

    7、使用BI用户连接数据库:

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

      在视图前加上视图所有者用户名称则可以查询成功。 eg: select * from ORCL.VW_STAFF;

    7、给BI用户授权同义词权限:

    8、使用BI用户连接数据库:

    9、创建同义词视图:

    10、直接查询视图名称则可以查询

    11、但是登陆BI用户,则在视图列表里看不到任何视图,如何能够查询并且登陆用户也能看到该视图?

 

    

 

     

  

原文链接:http://www.cnblogs.com/cainiaoputeng/p/11090497.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号