Sådan finder du Brugere, der har DBA-rolle i Oracle
standard DBA-rollen oprettes automatisk under Oracle-Databaseinstallation. Denne rolle indeholder de fleste databasesystemrettigheder. DBA-rollen bør derfor kun tildeles faktiske databaseadministratorer. Hvis du vil vide, hvilke brugere der har fået tildelt DBA-rollen, skal du forespørge dba_role_privs i SYS-skemaet.
DBA-rollen inkluderer IKKE systemrettighederne SYSDBA eller SYSOPER. Dette er særlige administrative rettigheder, der giver en administrator mulighed for at udføre grundlæggende databaseadministrationsopgaver, f.eks.
denne rolle fortæller dig tilskudsmodtageren, granted_role, om de har administratorindstilling tildelt, og om rollen er deres standardrolle:
USER_ROLE_PRIVS beskriver de roller, der er tildelt den aktuelle bruger.
KVL> desc dba_role_privs
navn Null? Type
—- — —-
tilskudsmodtager VARCHAR2 (30)
TILSKUD_ROLE IKKE NULL VARCHAR2 (30)
ADMIN_OPTION VARCHAR2 (3)
DEFAULT_ROLE VARCHAR2(3)
modtager: navn på den bruger eller rolle, der modtager tilskuddet
——
GRANTED_ROLE: tildelt rollenavn
———
ADMIN_OPTION: angiver, om tilskuddet var med indstillingen ADMIN (ja) eller ej (nej)
———
DEFAULT_ROLE: Angiver, om rollen er angivet som en STANDARDROLLE for brugeren (ja) eller ej (nej)
ved hjælp af nedenstående forespørgsel kan du finde brugere, der har DBA-rettigheder
SQL> select * from dba_role_privs where granted_role='DBA';
GRANTEE GRANTED_ROLE ADM DEF
--------- ------------ --- ---
SYS DBA YES YES
SYSTEM DBA YES YES
der er mange situationer opstår, hvor du ønskede at tilbagekalde DBA roller tildelt brugeren af sikkerhedsmæssige årsager. Ovenstående forespørgsel hjælper dig med at finde de brugere, der har DBA-privilegier.