iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >只有select权限也能锁表?read and select
  • 916
分享到

只有select权限也能锁表?read and select

2024-04-02 19:04:59 916人浏览 安东尼
摘要

有个客户问我说,为啥只有select权限,也可以for update锁表。 我懵了一下,不确认啊,我先测试了下,如下所示:  create user test11 identified

有个客户问我说,为啥只有select权限,也可以for update表。

我懵了一下,不确认啊,我先测试了下,如下所示:

 create user test11 identified by test11;

 create user test12 identified by test12;

grant connect,resource to test11,test12;

create table test11.objects as select * from dba_objects;

grant select on test11.objects to test12;

会话1:

只有select权限也能锁表?read and select

会话2:

只有select权限也能锁表?read and select

可以看到,确实仅有可读的权限下,是可以for update的。

为啥可以for update,似乎不符合逻辑,点太小了,只能在官方文档那个上搜了,不得不夸一句,oracle官方文档真的详细。只能想着在官方文档上看看有没有线索,一查,发现还真有!

如下:

SELECT      Query the table with the SELECT statement, including SELECT ... FOR UPDATE.

可以看到,select确实包含了 for update权限。

不一样的是,除了select之外,还有一个read表示查询,但是read不包含 for update。这个是12.1之后才有的变化。

READ Query the table with the SELECT statement. Does not allow SELECT ... FOR UPDATE.

Note: This privilege is available starting with Oracle Database 12 c Release 1 (12.1.0.2).

为啥select会有for update权限呢,可能是出于希望查询能够强制一致性的关系。

但这个其实对于大多数查询场景来说,for update的锁表权限还是太大了,所以在12.1开始,分离除了更小的read权限,用以满足客户需求。

您可能感兴趣的文档:

--结束END--

本文标题: 只有select权限也能锁表?read and select

本文链接: https://www.lsjlt.com/news/46275.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 只有select权限也能锁表?read and select
    有个客户问我说,为啥只有select权限,也可以for update锁表。 我懵了一下,不确认啊,我先测试了下,如下所示:  create user test11 identified ...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作