Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да покажа всички привилегии от потребител в oracle?

Можете да опитате тези изгледи по-долу.

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

DBA и други опитни потребители могат да намерят привилегиите, предоставени на други потребители с DBA_ версии на същите тези възгледи. Те са обхванати в документацията.

Тези изгледи показват само привилегиите, предоставени директно на потребителя. Намиране на всички привилегиите, включително тези, предоставени непряко чрез роли, изискват по-сложни рекурсивни 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. Oracle:Импортиране на CSV файл

  2. Издаден SQL Developer 4.0

  3. Схема за обратно инженерство (оракул) към ERD

  4. Каква е разликата между изгледи и материализирани изгледи в Oracle?

  5. Какво представлява операторът за конкатенация на низове в Oracle?