Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

मैं एक उपयोगकर्ता को प्राप्त सभी अनुदानों को कैसे सूचीबद्ध कर सकता हूं?

यदि आप केवल प्रत्यक्ष तालिका अनुदान से अधिक चाहते हैं (उदाहरण के लिए, भूमिकाओं के माध्यम से अनुदान, सिस्टम विशेषाधिकार जैसे किसी तालिका का चयन करें, आदि), तो यहां कुछ अतिरिक्त प्रश्न दिए गए हैं:

उपयोगकर्ता के लिए सिस्टम विशेषाधिकार:

SELECT PRIVILEGE
  FROM sys.dba_sys_privs
 WHERE grantee = <theUser>
UNION
SELECT PRIVILEGE 
  FROM dba_role_privs rp JOIN role_sys_privs rsp ON (rp.granted_role = rsp.role)
 WHERE rp.grantee = <theUser>
 ORDER BY 1;

तालिकाओं/दृश्यों को प्रत्यक्ष अनुदान:

SELECT owner, table_name, select_priv, insert_priv, delete_priv, update_priv, references_priv, alter_priv, index_priv 
  FROM table_privileges
 WHERE grantee = <theUser>
 ORDER BY owner, table_name;

तालिकाओं/दृश्यों को अप्रत्यक्ष अनुदान:

SELECT DISTINCT owner, table_name, PRIVILEGE 
  FROM dba_role_privs rp JOIN role_tab_privs rtp ON (rp.granted_role = rtp.role)
 WHERE rp.grantee = <theUser>
 ORDER BY owner, table_name;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLPlus या PL/SQL में मेनू कैसे बनाएं?

  2. Oracle, PDO_OCI बनाम OCI8

  3. Oracle में किसी संख्या के लिए डिफ़ॉल्ट प्रेसिजन और स्केल क्या है?

  4. बूल समर्थन Oracle SQL

  5. Oracle का उपयोग करके PIVOT के साथ तीन तालिकाओं को एक में संयोजित करें