Запрос найти все вкладки и системные привилегии, предоставленные пользователю, в одной таблице в БД oracle? - PullRequest
0 голосов
/ 20 сентября 2018

В настоящее время у меня есть база данных с несколькими ролями и пользователями, роли имеют несколько привилегий в таблицах и системе, и теперь я хочу перечислить все привилегии, предоставленные для системы и таблиц определенной ролью, назначенной пользователю.

У меня есть этот запрос, чтобы найти привилегии и роли таблицы, связанные с определенной ролью:

SELECT DR.GRANTED_ROLE, RP.PRIVILEGE, RP.TABLE_NAME FROM DBA_ROLE_PRIVS DR, role_tab_privs RP WHERE RP.ROLE=DR.GRANTED_ROLE AND DR.GRANTEE='ROLE';

и этот для системных привилегий, предоставленных пользователю:

SELECT PRIVILEGE
  FROM dba_sys_privs
 WHERE grantee = 'USR'
UNION
SELECT PRIVILEGE 
  FROM dba_role_privs rp JOIN role_sys_privs rsp ON (rp.granted_role = rsp.role)
 WHERE rp.grantee = 'USR'
 ORDER BY 1;

I 'Я не могу найти привилегии, предоставленные пользователям, поскольку у него нет общих столбцов с ролью privs и user privs.Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...