Tener esta configuración no tiene sentido, a menos que este usuario posea algún código PL / SQL. De forma predeterminada, en Oracle, todo el código se invoca con privilegios del propietario. Creo que debería auditar el código PL / SQL almacenado del usuario para responder a su pregunta.
El modelo de seguridad de Oracle no es demasiado práctico. Suele ser todo o nada. Por lo tanto, es común que dicho usuario (que teóricamente puede otorgar el rol de DBA a cualquiera) tenga un procedimiento almacenado que contenga una lista blanca de roles "seguros". Y este procedimiento otorga estos roles cuando se ejecuta. Algún otro usuario tiene derecho a ejecutar este procedimiento. Por lo tanto, si desea tener alguna seguridad "granular", debe implementarla por su cuenta.