MaxDB - 用户不访问表

时间:2018-04-04 10:55:36

标签: sql oracle permissions maxdb

我在MaxDb数据库中创建了一个新用户。我分配了一个角色,可以访问roleprivileges中的所有表,但是用户看不到这些表。

如果我直接为tableprivileges中的表分配权限,则用户可以访问这些表。

该角色具有访问权限,其他用户已分配此角色,他们会看到所有表格。

什么可能失败?

2 个答案:

答案 0 :(得分:1)

今天我第一次听说过MaxDB(什么是无知的,呃?)。我不确定你为什么用“Oracle”标签标记你的问题;谷歌称MaxDB<>甲骨文。

无论如何:这听起来像是Oracle PL / SQL中的常见的问题,其中通过角色获得的权限不起作用,但必须直接授予用户。

说“其他用户已分配此角色并且他们看到了所有表”,您确定他们也没有授予直接权限吗?

答案 1 :(得分:1)

假设这确实是针对MaxDB,而不是针对Oracle: 与特权相反,需要为用户会话激活角色。分配是不够的。这是通过命令SET ROLE <role>完成的。 对于每个新会话,还可以使用以下命令将角色默认激活: ALTER USER <user> DEFAULT ROLE <role>。 您还可以激活分配给用户的所有角色,如下所示: ALTER USER <user> DEFAULT ROLE ALL