Oracle中如何查看表的哪一列被授予了用户

How to see which column of tables are granted to a user in Oracle

我需要查看给定的用户(被授予者)哪些表、对象以及用户可以使用这些表的哪些列以及哪些权限(SELECT、INSERT、...)。

我知道:

SELECT *
FROM DBA_TAB_PRIVS
WHERE grantee = 'USER'

我可以看到这个被授予者的所有表和权限,但我还需要知道这些表的哪些列以及可能的授予日期。

所有列; GRANT 影响表,而不是列。如果您想将权限缩小到它们,请创建一个 VIEW,它只包含所需的表列子集。