sql >> Database teknologi >  >> RDS >> Oracle

Hvordan viser man alle privilegier fra en bruger i Oracle?

Du kan prøve disse visninger nedenfor.

SELECT * FROM USER_SYS_PRIVS; 
SELECT * FROM USER_TAB_PRIVS;
SELECT * FROM USER_ROLE_PRIVS;

DBA'er og andre superbrugere kan finde de privilegier, der er givet til andre brugere med DBA_ versioner af de samme synspunkter. De er dækket af dokumentationen .

Disse visninger viser kun de privilegier, der er givet direkte til brugeren. Finder alle privilegierne, inklusive dem, der tildeles indirekte gennem roller, kræver mere komplicerede rekursive SQL-sætninger:

select * from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER' order by 1,2,3;
select * from dba_sys_privs  where grantee = '&USER' or grantee in (select granted_role from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER') order by 1,2,3;
select * from dba_tab_privs  where grantee = '&USER' or grantee in (select granted_role from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER') order by 1,2,3,4;


  1. Sådan gemmer du IPv6-kompatibel adresse i en relationsdatabase

  2. Ved sletning af kaskade til selvhenvisningstabel

  3. Sådan aktiverer du udvidelser til oci8 (Oracle) i php.ini - PHP Advarsel:PHP-start:i Ukendt på linje 0

  4. Brug af MySQL-visninger