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

स्कीमा को सौंपे गए ऑब्जेक्ट्स पर विशेषाधिकारों (डीडीएल, डीएमएल, डीसीएल) की जांच कैसे करें, ऑरैकल डेटाबेस में भूमिकाएं?

डेटा डिक्शनरी व्यू प्रीफिक्स के बारे में थोड़ा संक्षिप्त:

ALL_    -Describes PUBLIC Object grants.
USER_   -Describes current user Object grants.
DBA_    -Describes all object grants in the database.

उपयोगी दृश्य जानकारी:

ROLE_ROLE_PRIVS     -describes the roles granted to other roles. 
ROLE_SYS_PRIVS      -describes system privileges granted to roles.
ROLE_TAB_PRIVS      -describes table privileges granted to roles. 
DBA_ROLE_PRIVS      -describes the roles granted to all users and roles in the database.
DBA_SYS_PRIVS       -describes system privileges granted to users and roles.
DBA_TAB_PRIVS       -describes all object grants in the database.
DBA_COL_PRIVS       -describes all column object grants in the database.

PRIVS . के बारे में अधिक जानने के लिए विचार यहां पर जाएं .

प्रश्न:

-उपयोगकर्ता/स्कीमा स्थिति के बारे में

select username,account_status, created from dba_users where username in ('SCOTT');

-भूमिका और स्कीमा को सौंपी गई भूमिकाओं की जाँच करें

select * from DBA_ROLE_PRIVS where grantee in ('SCOTT','RESOURCE');

-भूमिका विशेषाधिकारों की जांच करें

select * from ROLE_ROLE_PRIVS where role in ('RESOURCE','CONNECT');    
select * from ROLE_TAB_PRIVS  where role in ('RESOURCE','CONNECT');
select * from ROLE_SYS_PRIVS  where role in ('RESOURCE','CONNECT');

Pseudo Code:
select 'grant '||privilege||' to ROLE_SLAVE;' from ROLE_SYS_PRIVS where role in ('RESOURCE','CONNECT');
select 'grant '||privilege||' to ROLE_SLAVE;' from ROLE_TAB_PRIVS where role in ('RESOURCE','CONNECT');

-स्कीमा के लिए दी गई वस्तुओं के विशेषाधिकारों की जांच करें

select * from DBA_SYS_PRIVS where grantee in ('SCOTT');
select * from DBA_TAB_PRIVS where grantee in ('SCOTT');
select * from DBA_COL_PRIVS where grantee in ('SCOTT');

Pseudo Code: 
select 'grant '||privilege||' to SCOTT_SLAVE;' from DBA_SYS_PRIVS where grantee in ('SCOTT');
select 'grant '||privilege||' on '||owner||'.'||table_name||' to SCOTT_SLAVE;' from DBA_TAB_PRIVS where grantee in ('SCOTT');
select 'grant '||privilege||' ('||column_name||') '||' on '||owner||'.'||table_name||' to SCOTT_SLAVE;' from DBA_COL_PRIVS where grantee in ('SCOTT');

धन्यवाद!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle तत्काल ग्राहक स्थिति

  2. मैक पर Oracle इंस्टेंट क्लाइंट कैसे स्थापित करें?

  3. Oracle में प्राथमिक कुंजी का नाम कैसे बदलें ताकि इसका पुन:उपयोग किया जा सके

  4. अनुक्रम में मौजूद मानों के आधार पर समूहित करें

  5. oracle.dataaccess.dll का उपयोग करने में त्रुटि