februarie 16, 2022

cum să găsiți utilizatori care au rol DBA în Oracle

rolul DBA implicit este creat automat în timpul instalării bazei de date Oracle. Acest rol conține majoritatea privilegiilor sistemului de baze de date. Prin urmare, rolul DBA ar trebui acordat numai administratorilor de baze de date reale. Dacă doriți să știți ce utilizatori au primit rolul dba, atunci trebuie să interogați dba_role_privs în schema SYS.

USERS_HAVING_DBA_ROLES

rolul DBA nu include privilegiile sistemului SYSDBA sau SYSOPER. Acestea sunt privilegii administrative speciale care permit unui administrator să efectueze activități de bază de administrare a bazei de date, cum ar fi crearea bazei de date și pornirea și oprirea instanței.

acest rol vă spune beneficiarului, granted_role, dacă au opțiunea admin acordat, și dacă rolul este rolul lor implicit:

DBA_ROLE_PRIVS descrie rolurile acordate tuturor utilizatorilor și roluri în baza de date.

USER_ROLE_PRIVS descrie rolurile acordate utilizatorului curent.

SQL> desc dba_role_privs
nume Null? Tip
—- — —-
beneficiar VARCHAR2(30)
GRANTED_ROLE NOT NULL VARCHAR2 (30)
ADMIN_OPTION VARCHAR2 (3)
DEFAULT_ROLE VARCHAR2(3)

beneficiar: numele utilizatorului sau rolul care primește grantul
——
GRANTED_ROLE: numele rolului acordat
———
ADMIN_OPTION: indică dacă subvenția a fost cu opțiunea ADMIN (da) sau nu(nu)
———
DEFAULT_ROLE: Indică dacă rolul este desemnat ca un rol implicit pentru utilizator (da) sau nu (nu)

folosind interogarea de mai jos puteți găsi utilizatori care au privilegii DBA

SQL> select * from dba_role_privs where granted_role='DBA';
GRANTEE GRANTED_ROLE ADM DEF
--------- ------------ --- ---
SYS DBA YES YES
SYSTEM DBA YES YES

există multe situații apare în cazul în care ai vrut să revoce rolurile DBA acordate utilizatorului din motive de securitate. Interogarea de mai sus vă va ajuta să găsiți utilizatorii care au privilegii DBA.

Lasă un răspuns

Adresa ta de email nu va fi publicată.