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

तालिकाओं में विशेषाधिकारों की क्वेरी के बीच अंतर

वे काफी अलग हैं, हां।

Oracle में, किसी टेबल पर विशेषाधिकार या तो सीधे उपयोगकर्ता को दिए जा सकते हैं (जिस स्थिति में वे ALL_TAB_PRIVS में दिखाई देंगे। ) या किसी भूमिका को विशेषाधिकार दिए जा सकते हैं (ROLE_TAB_PRIVS में दृश्यमान) ) और वह भूमिका उपयोगकर्ता को दी जा सकती है (USER_ROLE_PRIVS में दिखाई दे रही है) ) पहली क्वेरी आपको उन उपयोगकर्ताओं को दिखाएगी जिनके पास एक टेबल पर प्रत्यक्ष अनुदान है। दूसरी क्वेरी आपको उन उपयोगकर्ताओं को दिखाएगी जिन्हें एक भूमिका दी गई है जिसे तालिका तक पहुंच प्रदान की गई है (ध्यान दें कि दोनों ही मामलों में आपको वास्तव में एक OWNER निर्दिष्ट करना चाहिए। तालिका के नाम के अलावा)। न तो आपको उन अनुदानों के बारे में जानकारी दिखाएगा जो भूमिकाओं के कई नेस्टेड स्तरों के माध्यम से दिए गए हैं (यानी उपयोगकर्ता ए को भूमिका 1 प्रदान की गई है, भूमिका 1 को भूमिका 2 दी गई है, भूमिका 2 को तालिका तक पहुंच प्रदान की गई है)। भूमिकाओं के माध्यम से दिया गया अनुदान भी थोड़ा मुश्किल हो सकता है क्योंकि डिफ़ॉल्ट और गैर-डिफ़ॉल्ट भूमिकाएँ होती हैं और पासवर्ड से सुरक्षित भूमिकाएँ और भूमिकाएँ एक सत्र में सक्षम और अक्षम की जा सकती हैं।

सामान्य तौर पर, मेरा सुझाव है कि आप पीट फ़िनिगन की साइट पर उपलब्ध स्क्रिप्ट पर एक नज़र डालें। यदि आप कुछ ऐसा करना चाहते हैं जो सभी संभावित मामलों को कवर करे। इस मामले में, आप शायद उसकी who_can_access स्क्रिप्ट का उपयोग करना चाहते हैं यह निर्धारित करने के लिए कि उपयोगकर्ता किसी विशेष तालिका तक क्या पहुंच सकते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL त्रुटि:ORA-00907:लापता सही कोष्ठक संघर्ष कर रहा है

  2. JDBC मेटाडा बाधा जानकारी प्राप्त करता है

  3. एक एसक्यूएल एकाधिक विभाजनों पर कैसे चयन करता है?

  4. कई ऑरैकल में अग्रणी शून्य कैसे प्रदर्शित करें?

  5. मैं SQLcl . का उपयोग करके jdbc के माध्यम से कनेक्ट क्यों नहीं कर सकता?