2011-06-17 11 views
12

मेरे पास all_directories में एक निर्देशिका है, लेकिन मुझे यह पता लगाना होगा कि इसके साथ कौन से अनुमतियां संबद्ध हैं, यानी इस पर क्या दिया गया है?ओरेकल निर्देशिका पर अनुमतियों को कैसे क्वेरी करें?

उत्तर

26

यह आपको भूमिकाओं, उपयोगकर्ता और अनुमतियां एक निर्देशिका पर दी देना चाहिए:

SELECT * 
    FROM all_tab_privs 
WHERE table_name = 'your_directory'; --> needs to be upper case 

और हाँ, यह all_TAB_privs ध्यान में रखते हुए है ;-) उस दृश्य के लिए एक बेहतर नाम "ALL_OBJECT_PRIVS की तरह कुछ होगा ", चूंकि इसमें पीएल/एसक्यूएल ऑब्जेक्ट्स और उनके निष्पादन अनुमतियां भी शामिल हैं।

2

यह सुनिश्चित नहीं था कि आपका मतलब है कि ओरेकल उपयोगकर्ता निर्देशिका के साथ \ Oracle निर्देशिका ऑब्जेक्ट और अंतर्निहित ऑपरेटिंग सिस्टम निर्देशिका के बीच अनुमतियों के सहसंबंध को पढ़ सकते हैं या लिख ​​सकते हैं।

जैसा कि डीसीकी ने बाड़ के ओरेकल पक्ष को कवर किया है, निम्नलिखित ओरेकल दस्तावेज से लिया गया है here मिला।

विशेषाधिकार निर्देशिका के लिए दी गई अनुमतियाँ ऑपरेटिंग प्रणाली निर्देशिका के लिए परिभाषित की स्वतंत्र रूप से बनाई गई हैं, और दो या बिल्कुल अनुरूप नहीं हो सकता है। उदाहरण के लिए, एक त्रुटि होती है, तो नमूना उपयोगकर्ता घंटा निर्देशिका वस्तु पर पढ़ें विशेषाधिकार प्रदान किया जाता है लेकिन इसी ऑपरेटिंग सिस्टम निर्देशिका पढ़ें अनुमति Oracle डाटाबेस प्रक्रियाओं के लिए परिभाषित नहीं है।

7

आप सभी निर्देशिकाओं के लिए सभी विशेषाधिकारों देख सकते हैं निम्नलिखित बुद्धि

SELECT * 
from all_tab_privs 
where table_name in 
    (select directory_name 
    from dba_directories); 

निम्नलिखित आप विशेषाधिकार आप बैकअप आप क्या किया है या कुछ और करने की जरूरत है चाहिए देने के लिए एसक्यूएल बयान देता है

select 'Grant '||privilege||' on directory '||table_schema||'.'||table_name||' to '||grantee 
from all_tab_privs 
where table_name in (select directory_name from dba_directories); 
+0

अनुपलब्ध 'निर्देशिका' कीवर्ड के रूप में अपडेट किया गया –

0

ओरेकल 11 जी आर 2 (कम से कम 11.2.02 के साथ) के साथ datapump_dir_objs नामक एक दृश्य है।

SELECT * FROM datapump_dir_objs; 

दृश्य वर्तमान में जुड़े उपयोगकर्ता के लिए निर्देशिका वस्तु की NAME, PATH के साथ-साथ READ और WRITE अनुमतियों को दर्शाता है। यह किसी भी निर्देशिका ऑब्जेक्ट्स को प्रदर्शित नहीं करता है जो वर्तमान उपयोगकर्ता को पढ़ने या लिखने की अनुमति नहीं है, हालांकि।

संबंधित मुद्दे