2011-08-05 13 views
5

स्थिति मेरे पास दो स्कीमा हैं: ए और बी। मेरे पास एक प्रतिबंधित उपयोगकर्ता है जिसे मुझे बी स्कीमा में चयन प्रश्नों का विशेषाधिकार देने की आवश्यकता है और बस इसे। मैं इस उपयोगकर्ता को कैसे दे सकता हूं?विशिष्ट स्कीमा पर उपयोगकर्ता विशेषाधिकार कैसे प्रदान करें?

उत्तर

16

आप नहीं कर सकते।

सबसे अच्छा आप कर सकते हैं स्कीमा बी में प्रत्येक तालिका को 'चयन' विशेषाधिकार प्रदान करते हैं।

इस क्वेरी आदेशों उत्पन्न होगा आप की आवश्यकता होगी:

select 'grant select on A.'||table_name||' to B;' 
from dba_Tables 
where owner = 'A'; 

इस के साथ समस्या के मामले में किया जाता है आप ए के लिए नई तालिका जोड़ना चाहते हैं जाएगा तो आप विशेषाधिकार प्रदान करनी होगी इसे अलग से। यह यह स्वचालित रूप से काम नहीं चलेगा ..

7

आप उपयोगकर्ता ख के लिए, आप का उपयोग करने dba_tables, मालिक स्कीमा (क) सभी तालिकाओं के लिए अनुमतियां मिल जाएंगी में कोड रन के निम्नलिखित ब्लॉक की जरूरत नहीं है मिल सकता है

BEGIN 
    FOR t IN (SELECT * FROM user_tables) 
    LOOP 
     EXECUTE IMMEDIATE 'GRANT SELECT ON ' || t.table_name || ' TO b';  
    END LOOP; 
END; 
संबंधित मुद्दे

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