Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Warum respektiert PL/SQL keine von Rollen gewährten Privilegien?

Es ist wahrscheinlich eine Kombination aus Faulheit und der SET ROLE Befehl.

Ich stimme nicht zu, dass dies aufgrund komplexer Abhängigkeiten nicht zulässig ist. Oracle verwaltet bereits komplexe Abhängigkeiten. Und in 12c ist es möglich, einem Objekt eine Rolle zuzuweisen.

Ich denke, der wahre Grund, warum Objekte die Rollen des Benutzers nicht erben, liegt an der SET ROLE Befehl. Es ist möglich, dass einem Benutzer eine Rolle zugewiesen wird, diese jedoch innerhalb einer Sitzung aktiviert und deaktiviert wird. Das ist ein dummes Feature und ich habe es noch nie gesehen. Aber theoretisch müsste es innerhalb derselben Sitzung oder Transaktion neu kompiliert werden, was wirklich verwirrend wäre.