যদি অধিকার বা সরাসরি কোনও ভূমিকাকে মঞ্জুর করা হয় তবে অনুদানটি উপস্থিত হবে 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
) এর মতো ব্যবহার করা থেকে ভাল । পিট সম্ভবত ওরাকল সিকিউরিটির শীর্ষস্থানীয় বিশেষজ্ঞ তাই আমি একসাথে বাঁধা চেষ্টা করার চেয়ে যে কোনও সম্ভাব্য কোণার ক্ষেত্রে এটির সম্ভাবনা অনেক বেশি।