Предоставить права на запрос роли в Oracle не работает - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь выполнить запрос ниже в oracle дБ.

а. GRANT UPDATE ON MIC_COMMON_AT.SHL_PRODUCERS TO MIC_READWRITE_AT;

Этот запрос не выдает никакой ошибки и говорит GRANT SUCCEEDED.

b. Но когда я запускаю запрос ниже, чтобы проверить этот грант в sys.all_tab_privs для роли, к которой этот грант должен был быть добавлен, он дает мне 0 строк

SELECT * FROM sys.all_tab_privs
WHERE GRANTEE  = 'MIC_READWRITE_AT';

Я не уверен, почему требуется грант для роль (MIC_READWRITE_AT) не вставляется в таблицу sys.all_tab_privs (запрос b возвращает 0 строк) - даже если кажется, что запрос на предоставление этой роли выполняется успешно без ошибок (запрос a).

Пользователь, с которым Я выполняю этот запрос, ему по умолчанию назначена роль dba, а также системная привилегия 'GRANT ANY OBJECT PRIVILEGE' AND "GRANT ANY PRIVILEGE'.

Что мне здесь не хватает?

1 Ответ

1 голос
/ 27 марта 2020

all_tab_privs включает только предоставление объекта, для которого текущий пользователь является владельцем объекта, лицом, предоставляющим право, или получателем. Он не покажет вам гранты на объекты в других схемах. Попробуйте вместо этого использовать представление dba_tab_privs.

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