Почему PL / SQL не уважает привилегии, предоставленные ролями?

При выполнении блока PL / SQL все привилегии, предоставленные ролям, игнорируются. Вместо этого вы должны предоставить конкретным пользователям определенные права для его запуска. Если я хочу предоставить администраторам БД доступ к пакету, функции или процедуре, я не могу предоставить роль администратора БД. Я должен дать грант каждому пользователю в роли администратора баз данных, я должен удалить грант пользователей, если они перестают быть администраторами баз данных, и я должен добавить гранты к любому новому администратору баз данных.

Я нахожу это очень трудно поддерживать.

У меня вопрос, почему PL / SQL работает таким образом? Какие соображения по проектированию сделал Oracle, чтобы решить, что именно так должны работать вместе роли и PL / SQL? Я не смог найти ответ, который не "это просто так".

Ответы на вопрос(5)

Ваш ответ на вопрос