проблема с системными привилегиями

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

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

Если есть идеи ответьте..

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


person kupa    schedule 04.11.2010    source источник


Ответы (1)


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

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

изменить:

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

select * from all_tab_privs where grantor = 'HR';

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

person Randy    schedule 04.11.2010
comment
Спасибо за ваш ответ ... Но я не знаю, кому пользователь HR дал привилегии, поэтому я не знаю, где я должен выбрать представления ALL_COL_PRIVS или ALL_TAB_PRIVS (эти представления должны быть выбраны для этих пользователей, но, к сожалению, я не не знаю, кто они такие) чтобы решить эту проблему, вы должны выбрать представления ALL_COL_PRIVS_MADE или ALL_TAB_PRIVS_MADE в HR-пользователе, там я могу увидеть грантополучателя (определить, кому пользователь HR предоставил привилегии OBJECT), НО, что более важно, эти представления показывают мне только привилегии OBJECT, а не SYSTEM привилегии, вы меня понимаете? Мне нужны системные привилегии - person kupa; 05.11.2010