如何为不在DBA_TAB_PRIVS表中的用户确定表特权?

时间:2019-08-02 12:56:54

标签: sql oracle

我正在尝试确定用户具有什么表权限。 确定此操作的通常方法是:

 SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = '<username>';

但是,我要查找的用户名不在表DBA_TAB_PRIVS中。 但是确实出现在DBA_USERS中,并且我知道用户具有HAS特权,因为他们能够登录并执行SELECT查询。

实际上有很多这样的差异:

 SELECT USERNAME, GRANTEE FROM DBA_USERS u
 LEFT JOIN DBA_TAB_PRIVS p
 ON u.USERNAME = p.GRANTEE
 ORDER BY USERNAME

给予:

 USERNAME  GRANTEE
 --------  -------
 BOB17     (null)
 DBA       DBA
 DBA       DBA
 DBA       DBA
 DBA       DBA
 JANET5    (null)
 STEVE34   (null)
 SYSTEM    SYSTEM
 SYSTEM    SYSTEM
 SYSTEM    SYSTEM

那么我该如何为不在DBA_TAB_PRIVS表中的用户确定特权?

0 个答案:

没有答案