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

Oracle - केवल पढ़ने के लिए उपयोगकर्ता कैसे बनाएं

Oracle डेटाबेस में एक उपयोगकर्ता के पास केवल आपके द्वारा दिए गए विशेषाधिकार होते हैं। इसलिए आप कोई अन्य विशेषाधिकार न देकर केवल-पढ़ने के लिए उपयोगकर्ता बना सकते हैं।

जब आप एक उपयोगकर्ता बनाते हैं

CREATE USER ro_user
 IDENTIFIED BY ro_user
 DEFAULT TABLESPACE users
 TEMPORARY TABLESPACE temp;

उपयोगकर्ता को डेटाबेस में लॉग इन करने की अनुमति भी नहीं है। आप यह अनुदान दे सकते हैं

GRANT CREATE SESSION to ro_user

और फिर आप जो चाहें पढ़ने के विशेषाधिकार देने के बारे में जा सकते हैं। उदाहरण के लिए, यदि आप RO_USER चाहते हैं SCHEMA_NAME.TABLE_NAME query को क्वेरी करने में सक्षम होने के लिए , आप कुछ ऐसा करेंगे

GRANT SELECT ON schema_name.table_name TO ro_user

आम तौर पर, आप भूमिका बनाने और भूमिका को ऑब्जेक्ट विशेषाधिकार देने से बेहतर हैं ताकि आप विभिन्न उपयोगकर्ताओं को भूमिका प्रदान कर सकें। कुछ इस तरह

भूमिका बनाएं

CREATE ROLE ro_role;

भूमिका को एक विशेष स्कीमा में प्रत्येक तालिका पर चयन पहुंच प्रदान करें

BEGIN
  FOR x IN (SELECT * FROM dba_tables WHERE owner='SCHEMA_NAME')
  LOOP
    EXECUTE IMMEDIATE 'GRANT SELECT ON schema_name.' || x.table_name || 
                                  ' TO ro_role';
  END LOOP;
END;

और फिर उपयोगकर्ता को भूमिका प्रदान करें

GRANT ro_role TO ro_user;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाटाइप xmltype के कॉलम पर ora_hash का उपयोग कैसे करें

  2. डेटाबेस कॉलम में बिट फ़्लैग के लिए कोई नुकसान?

  3. चरण-दर-चरण अपग्रेड प्रक्रिया R12.2 में अपग्रेड करें भाग -3

  4. एक अपवाद प्राप्त करना ORA-00942:तालिका या दृश्य मौजूद नहीं है - किसी मौजूदा तालिका में सम्मिलित करते समय

  5. कनेक्शन को oracle.jdbc.OracleConnection में नहीं डाला जा सकता है