Ayrıcalık doğrudan veya bir rol için verildiyse, hibe DBA_TAB_PRIVS
SELECT grantee, privilege
FROM dba_tab_privs
WHERE owner = 'B'
AND table_name = 'MYPACKAGE'
AND privilege = 'EXECUTE'
Bu granteebir rolse, o dba_role_privskullanıcıya hangi rollere (veya rollere) sahip olduğunu görmek ve diğer rollere verilen rolleriniz varsa zinciri takip etmek gerekir. (Çok tehlikeli) ANYhibeler (yani EXECUTE ANY PROCEDURE) nedeniyle hibeleri olan kullanıcıları hesaba katmanız gerekirse , bu ayrı bir sorgu gerektirir.
dba_tab_privsBununla birlikte, sadece düz bir sorgu yapmaktan daha sofistike olmak istiyorsanız, muhtemelen Pete Finnigan'ınwho_has_priv.sql (veya who_has_priv_procedure.sql) gibi senaryolarını kullanmaktan daha iyidir . Pete muhtemelen Oracle güvenliği konusunda önde gelen bir uzmandır, bu nedenle bunların her olası köşe vakasını açıklamak için birlikte çakmaya çalışacağım her şeyden çok daha olasıdır.