前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >能不能算是PLSQL Developer的锅?

能不能算是PLSQL Developer的锅?

作者头像
bisal
发布2022-09-23 11:12:32
4660
发布2022-09-23 11:12:32
举报
文章被收录于专栏:bisal的个人杂货铺

一个Oracle添加索引造成其他用户对此表的查询权限丢失的案例》引用了一个PLSQL Developer中因为创建索引导致表的查询权限丢失的诡异场景,很多朋友留言,没能复现问题。

我咨询了当事人,他使用的是PLSQL Developer 11.0.5,Oracle 11g Client 64bit,连接的是Oracle 11g,

0cf22ad4506358336858ecdc654ea7cc.png
0cf22ad4506358336858ecdc654ea7cc.png

跟他腾讯会议,录制了整个操作的过程,每次都可以复现,具体步骤如下,

1. SQL语句执行create table t2 (c1 number, c2 varchar2(1));

2. 图形界面加主键,

c44b499d72813b123cbb9dedf574f016.png
c44b499d72813b123cbb9dedf574f016.png

3. SQL语句执行grant给其他的用户,例如,

代码语言:javascript
复制
grant select on t2 to test;

4. 图形界面加索引,需要包含主键作为复合索引第一个字段,

ab3c0505845cee4324050adc765ea3ce.png
ab3c0505845cee4324050adc765ea3ce.png

5. 不执行该操作,直接点击打开view SQL,就会看到create index跟着一条revoke的语句,而且只会出现在第一次创建索引的时候,

代码语言:javascript
复制
-- Create/Recreate indexes 
create index idx_t2_01 on T2 (id, c1);
-- Grant/Revoke object privileges
revoke select on t2 from test;

更换其他版本的客户端,例如PLSQL Developer 9.0.6,或者连接Oracle 19c,或者更换了一台机器,重新安装这些软件客户端,还是能够复现。

相反之下,我和几位朋友,用相同的软件,没出现这种现象。

虽然没能复现,但是我觉得问题还是可能出现在客户端,例如PLSQL Developer一些特殊配置上,或者上述特殊的逻辑操作过程存在bug,

b9f117f032604841a1d82de4e7e71082.jpeg
b9f117f032604841a1d82de4e7e71082.jpeg

如果哪位朋友测出了这个场景,可以留言说说,挖掘出这个问题背后真正的原因。但无论什么原因,当我们碰到这种场景的时候,还是要培养我们排查问题、解决问题的逻辑能力,先解决问题,至少能满足基本的需求。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/08/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯会议
腾讯会议(Tencent Meeting)为企业打造专属的会议能力,卓越的音视频性能,丰富的会议协作能力,坚实的会议安全保障,提升协作效率,满足大中小会议全场景需求。您可以使用腾讯会议进行远程音视频会议、在线协作、会管会控、会议录制、指定邀请、布局管理、同声传译等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档