sql >> Databáze >  >> RDS >> Oracle

Jak zobrazit všechna oprávnění od uživatele v oracle?

Můžete vyzkoušet tyto níže uvedené pohledy.

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

DBA a další zkušení uživatelé mohou najít oprávnění udělená ostatním uživatelům pomocí DBA_ verze těchto stejných pohledů. Jsou zahrnuty v dokumentaci .

Tato zobrazení zobrazují pouze oprávnění udělená přímo uživateli. Hledání všech oprávnění, včetně těch udělených nepřímo prostřednictvím rolí, vyžadují složitější rekurzivní příkazy 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. Import tvarových souborů do postgresql v linuxu pomocí pgadmin 4

  2. Rozdíl mezi datovým typem float a decimální

  3. Chyby T-SQL, úskalí a osvědčené postupy – determinismus

  4. Aktualizace SQL pomocí row_number()