Oracle-11g-R2

在 Oracle 中,如何獲取使用者具有讀取權限的模式名稱的列表?

  • December 24, 2015

在 Oracle 中,我需要列出特定數據庫使用者(或目前數據庫使用者)具有讀取權限的架構。

基於此資訊,還需要獲取每個模式中的所有表和視圖,前提是特定數據庫使用者具有讀取權限。

如果要查看具有 X 權限的使用者(例如SELECT ANY TABLE權限),可以使用以下命令

SELECT * FROM USER_ROLE_PRIVS WHERE GRANTED_ROLE like '%SELECT ANY TABLE%'; 

這行得通嗎?

select owner,table_name 
from dba_tab_privs 
where privilege = 'SELECT' 
and grantee = UPPER('&SCHEMA');

引用自:https://dba.stackexchange.com/questions/87463