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

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

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

 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知识很多,学习仍在继续。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值