ITPub博客

首页 > 数据库 > 数据库开发技术 > 能不能算是PLSQL Developer的锅?

能不能算是PLSQL Developer的锅?

原创 数据库开发技术 作者:bisal 时间:2022-08-19 07:50:00 0 删除 编辑

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


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


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

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

2. 图形界面加主键,

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

grant select on t2 to test;

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

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

-- Create/Recreate indexes create index idx_t2_01 on T2 (id, c1);-- Grant/Revoke object privilegesrevoke select on t2 from test;


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


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


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


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



如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发pyq,



近期更新的文章:

《通过ASH分析Oracle数据库的历史性能问题》

《应用系统日志打印规范的实践之道》

《一个Oracle添加索引造成其他用户对此表的查询权限丢失的案例》

《你关电脑么?》

《MySQL数据误删除恢复的场景》


近期的热文:

《"红警"游戏开源代码带给我们的震撼》


文章分类和索引:

《公众号1000篇文章分类和索引》

原文作者:bisal的个人杂货铺;如有侵权,请联系管理员删除。

下一篇: 你关电脑么?
请登录后发表评论 登录
全部评论
Oracle ACE,10g/11g OCP,11g OCM,国内首批Oracle YEP成员(Oracle Young Expert Program,Oracle用户组年轻专家项目),EXIN DevOps Master,Oracle爱好者,微信公众号:bisal的个人杂货铺

注册时间:2022-06-21

  • 博文量
    539
  • 访问量
    2801306