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.