проблема с системными привилегиями - PullRequest
2 голосов
/ 04 ноября 2010

У меня есть пользователь, например, HR, которому предоставлена ​​очень мощная системная привилегия "GRANT ANY PRIVILEGE" ... Этот пользователь использовал эту привилегию и предоставил некоторые привилегии другим пользователям ... Теперь я хочу отменить "GRANT ANY PRIVILEGE""из HR и также определяют, какие привилегии и кому предоставил пользователь HR (я хочу отозвать у них эти привилегии).

Я знаю, что oracle сохраняет только грантополучателя и привилегию, а не предоставителясистемные привилегии (в отличие от привилегий объекта) в метаданных ...

Если у вас есть идеи, пожалуйста, ответьте ..

Большое спасибо в предыдущих.

1 Ответ

3 голосов
/ 04 ноября 2010

В ALL_COL_PRIVS представлении будет отображаться правообладатель. В представлении ALL_TAB_PRIVS будет отображаться правообладатель В представлении TABLE_PRIVILEGES будет отображаться правообладатель

плюс версии ПОЛЬЗОВАТЕЛЯ этих ..

редактировать

чтобы найти список привилегий объекта, предоставленных HR, используйте запрос, подобный этому:

select * from all_tab_privs where grantor = 'HR';

Я не знаю, как проверить гранты объектов системного уровня

...