码迷,mamicode.com
首页 > 数据库 > 详细

Oracle成长点点滴滴(3)— 权限管理

时间:2015-07-08 16:39:09      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

  上篇我们讲解了创建用户以及基本的授权问题,下面我们来讲解权限包括对象权限和系统权限。

  其实上节课我们讲解就是系统的权限,系统权限就是一些创建表了,表空间等等的系统的权限。

 1.      系统权限

  那么哪些权限是属于系统权限的呢?

  上篇文章中我们已经提到了:

技术分享

 2.      对象权限

  不同的用户拥有不同的表,那么如何让不同的用户可以访问彼此的表,这个权限就涉及到了对象的权限。

同上篇文章,用系统用户登录创建二个用户,并且用创建的用户进行登陆,并且将创建权限以及创建表空间以及创建表的权限授予给他们;那么他们之前是否是可以互相访问的呢?

技术分享

  不写liyifeng这个用户之前是访问不了,在oracle中每一个表都是属于一个固定的用户,如果直接写表明,系统默认是liyfeng的表,但是这张表在zhonghanliang中是不存在的

  即使加上了liyifeng还是不存在,不是不存在,是没有权限,在oracle中各个用户是隔离开的,彼此之前不能访问数据。

所以这就涉及到了对象之间的授权。

  但是系统管理员是有权限对任何的表进行访问的

  访问出现未选定的行,原因在于即使插入了数据但是未进行提交;oracle数据库不同于sql以及mysql,如果不进行commit提交,那么只是存在内存中,并没有写进去数据库。故而我们有的时候查不到数据在于没有将数据进行commit提交。

  技术分享

   如何让用户zhonghanliang可以访问liyifeng的表,只要让系统管理员把查询的权限授予给zhonghanliang即可。

  ?  查询权限

技术分享

  此时zhonghanliang是可以访问的

技术分享

  ?  插入权限

  技术分享

  此时zhonghanliang用户是可以进行插入的

技术分享

  记得commit提交。此时查询会有两条数据,3是刚刚插入的数据

技术分享

  ?  授予所有的权限

技术分享

  ?  撤销所有的权限

技术分享

  此外我们还可以设置列的权限;具体的演示我们不再在命令窗口中进行演示了,总结的如下图:

技术分享

  授权不用提交,但是插入等等需要提交,就是插入,更新和删除,是需要写提交的。

 3.      小结

  上面讲述了对象之前的彼此的访问,也就是对象的权限,其实权限是可以传递的,我们上面的权限都是系统管理员在进行各个用户的授予的,其实也可以在对象之前进行传递,也就是权限传递,比如说系统管理员把权限给了A,A可以再给B,操作其实很简单(授权的时候加上with admin option即可),这里不再做详细的阐述,oracle知识很多,学习仍在继续。


版权声明:本文为博主原创文章,未经博主允许不得转载。

Oracle成长点点滴滴(3)— 权限管理

标签:

原文地址:http://blog.csdn.net/u010955843/article/details/46802993

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!