यदि विशेषाधिकार सीधे या किसी भूमिका को प्रदान किया गया है, तो अनुदान दिखाई देगा DBA_TAB_PRIVS
SELECT grantee, privilege
FROM dba_tab_privs
WHERE owner = 'B'
AND table_name = 'MYPACKAGE'
AND privilege = 'EXECUTE'
यदि grantee
एक भूमिका है, तो आपको यह देखने की आवश्यकता होगी dba_role_privs
कि क्या उपयोगकर्ता (या भूमिकाएँ) को वह भूमिका दी गई है और यदि आप अन्य भूमिकाओं को दी गई भूमिकाएँ हैं तो उस श्रृंखला का अनुसरण करें। यदि आपको उन उपयोगकर्ताओं के लिए खाते की आवश्यकता है जिनके पास (बहुत खतरनाक) ANY
अनुदान (यानी EXECUTE ANY PROCEDURE
) के कारण अनुदान हैं , तो इसके लिए एक अलग क्वेरी की आवश्यकता होगी।
यदि आप सीधे तौर पर सीधे क्वेरी करने की तुलना में अधिक परिष्कृत प्राप्त करना चाहते हैं dba_tab_privs
, हालांकि, आप शायद (या ) जैसी पीट फिनिगन की स्क्रिप्ट्स का उपयोग करने से बेहतर हैं । पीट संभवत: ओरेकल सुरक्षा पर अग्रणी विशेषज्ञ है, इसलिए ये संभव है कि मैं हर संभव कोने के मामले में कुछ भी करने की कोशिश करूं।who_has_priv.sql
who_has_priv_procedure.sql