Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak wyświetlić wszystkie uprawnienia użytkownika w Oracle?

Możesz wypróbować poniższe widoki.

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

Administratorzy baz danych i inni zaawansowani użytkownicy mogą znaleźć uprawnienia przyznane innym użytkownikom za pomocą DBA_ wersje tych samych poglądów. Są one opisane w dokumentacji.

Te widoki pokazują tylko uprawnienia przyznane bezpośrednio do użytkownika. Znajdowanie wszystkich uprawnienia, w tym te nadane pośrednio przez role, wymagają bardziej skomplikowanych rekurencyjnych instrukcji SQL:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie o relacje klucza obcego tabeli

  2. SQL IN klauzula 1000 limit pozycji

  3. Czy %NOTFOUND może zwrócić wartość null po pobraniu?

  4. Wybierz z tabeli, znając tylko datę bez czasu (ORACLE)

  5. Wartości nie są wyświetlane z wiodącym zerem w Oracle