Как проверить, какие все схемы имеют доступ к представлению?

#oracle #oracle10g

#Oracle #oracle10g

Вопрос:

Как я могу проверить, какие все схемы имеют доступ к представлению, например, к привилегиям таблицы, присутствующим в DBA_TAB_PRIVS?

Ответ №1:

Права доступа для просмотров также DBA_TAB_PRIVS включены .

Комментарии:

1. Спасибо. Я не смог найти свое представление, потому что запись, соответствующая этому представлению, отсутствовала в sys.objauth $. Есть какие-нибудь идеи, почему это могло произойти?

2. Понятия не имею. В моей базе данных представления можно найти в sys.objauth $ .

3. Я понял. В sys.objauth $ не будет никакой записи, если ни у кого нет никаких привилегий для этого объекта.

Ответ №2:

DBA_TAB_PRIVS неправильное название — оно содержит привилегии не только для таблиц, но и для всех объектов базы данных (таблиц, представлений, пакетов, …). Поэтому просто используйте тот же запрос, который вы используете для своих таблиц.

Комментарии:

1. Спасибо. Я не смог найти свое представление, потому что запись, соответствующая этому представлению, отсутствовала в sys.objauth $. Есть какие-нибудь идеи, почему это могло произойти?