Oracle 为什么insert Privilegs不显示在会话\u Privilegs上?

Oracle 为什么insert Privilegs不显示在会话\u Privilegs上?,oracle,privileges,Oracle,Privileges,我做了一个select*from session_privs来找出当前用户拥有的权限,它给了我一个创建权限列表,包括create table 但是,我可以在表中插入行。为什么insert未列在会话权限中?权限(创建表、创建过程、创建任意序列等)和授予权限(将选择、插入、选项卡a上的更新授予用户等)之间存在差异 SESSION_PRIVS将显示当前会话具有的权限 DBA_TAB_PRIVS将向您显示授予用户哪些表的权限 希望对您有所帮助。检查查看用户选项卡\u priv\u RECD或用户选项卡\

我做了一个
select*from session_privs
来找出当前用户拥有的权限,它给了我一个创建权限列表,包括create table


但是,我可以在表中插入行。为什么insert未列在会话权限中?

权限(创建表、创建过程、创建任意序列等)和授予权限(将选择、插入、选项卡a上的更新授予用户等)之间存在差异

SESSION_PRIVS将显示当前会话具有的权限

DBA_TAB_PRIVS将向您显示授予用户哪些表的权限


希望对您有所帮助。

检查查看
用户选项卡\u priv\u RECD
用户选项卡\u priv
,在那里您可以看到表上的所有权限,例如

SELECT * FROM USER_TAB_PRIVS_RECD WHERE PRIVILEGE = 'INSERT';

该名称有点误导,因为它还显示了对其他对象的授权,例如,
GRANT EXECUTE on

强制性免责声明:两者都不包括通过角色授予的权限。在Oracle中,查找real的所有权限是一件痛苦的事情。