首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在表权限列表中看不到我的表权限?

问为什么在表权限列表中看不到我的表权限?
EN

Stack Overflow用户
提问于 2020-05-13 17:26:29
回答 1查看 99关注 0票数 1

我创建了该表,并将select语句授予该角色。然后,我将该角色授予user。用户可以在我的表上执行select语句,但无法通过SELECT * FROM USER_TAB_PRIVS查看有关此权限的信息;按HR用户分步操作如下:

代码语言:javascript
复制
CREATE TABLE A1 (ID NUMBER);
Table A1 created.

CREATE TABLE A2 (ID NUMBER);
Table A2 created.

CREATE ROLE ROLE1;
Role ROLE1 created.

GRANT SELECT ON A1 TO ROLE1;
Grant succeeded.

GRANT SELECT ON A2 TO ROLE1;
Grant succeeded.

GRANT ROLE1 TO MAX;
Grant succeeded.

然后按用户最大步数:

代码语言:javascript
复制
SET ROLE ROLE1;
Role ROLE1 succeeded.

SELECT * FROM HR.A1;--successfull

SELECT * FROM USER_TAB_PRIVS;--successful, but no rows

问题出在哪里?我可以澄清什么?

EN

回答 1

Stack Overflow用户

发布于 2020-06-05 02:06:47

用户MAX没有表权限,只有角色ROLE1的权限。

使用USER_ROLE_PRIVS显示这些权限。

user_tab_privs仅限于已连接/当前用户的权限。

表user_tab_privs是来自Oracle字典的表。因此,我建议使用Oracle数据库。

在grant select之后,如果您以用户HR的身份连接,您将从user_tab_privs 获得一个条目。如果您使用dba用户,则必须查询dba_tab_privs。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61770914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档