Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Por que PL/SQL não respeita privilégios concedidos por Roles?


Provavelmente é uma combinação de preguiça e o SET ROLE comando.

Discordo que não seja permitido por causa de dependências complexas. A Oracle já gerencia dependências complexas. E no 12c é possível conceder um papel a um objeto.

Eu acho que a verdadeira razão pela qual os objetos não herdam as funções do usuário é por causa do SET ROLE comando. É possível atribuir uma função a um usuário, mas ativá-la e desativá-la em uma sessão. Esse é um recurso bobo e eu nunca o vi usado. Mas, teoricamente, seria necessário recompilar dentro da mesma sessão ou transação, o que seria muito confuso.