Oracle SELECT 已授予但仍无法跨用户访问表

问题描述 投票:0回答:1

任何人都可以看出这是怎么回事吗:

用户ABC:

create table def.something (
  id number,
  ref number references def.anotherTable(id)
);

create role ROUser;

grant select on def.something to ROUser;

grant ROUser to ghi;

用户防御:

select * from something;
...
X rows returned

用户GHI:

select * from def.something;
ORA-00942: table or view does not exist

是否存在 GHI 无法访问的外键,这就是问题所在?



编辑

我刚刚在另一台服务器上再次尝试过,它工作正常(即,如预期的那样)。不完全确定这里发生了什么,但我认为这可能与我的一些错误有关......因此,我投票结束这个问题。

oracle permissions roles sql-grant
1个回答
0
投票
def.something

语句?在 PL/SQL 中,

通过角色授予的权限不被识别
。尝试在该表上添加直接 SELECT 权限,看看是否有效。
    

© www.soinside.com 2019 - 2024. All rights reserved.