Estoy tratando de reiniciar una base de datos Oracle y estoy viendo el siguiente error:No se puede quitar un usuario que está conectado actualmente
[sql] Failed to execute: drop user conns cascade
[sql] java.sql.SQLException: ORA-01940: cannot drop a user that is currently connected
[sql] Failed to execute: create user conns identified by conns default tablespace tbs_conns temporary tablespace temp1
[sql] java.sql.SQLException: ORA-01920: user name 'CONNS' conflicts with another user or role name
El problema es que NADIE está conectado: se trata de una instancia en mi computadora local, no hay conexiones externas y yo solo reiniciado y no he ejecutado nada más. Lo único que se me ocurre es que Oracle podría tener alguna tarea en segundo plano (¿limpieza?) Que está causando este problema, pero no tengo ni idea de cómo encontrarlo/gestionarlo. ¿Algunas ideas?
actualización: este script en realidad cae y reinicia un montón de mesas, y después de tratar de volver a ejecutar un par de veces, me dieron el mismo mensaje de error pero en una mesa diferente : Failed to execute: drop user csmy cascade
. Después de algunos intentos más, se movió aún a otro usuario: Failed to execute: drop user deb cascade
. ¡Algo parece estar bloqueando estas tablas, una a la vez, en orden alfabético!
Actualización 2: después de volver a ejecutar la secuencia de comandos unas 15 veces, cada vez que falla en una tabla un poco más adelante en el alfabeto, ha llegado hasta el final y las cosas están funcionando. Todavía me encantaría saber exactamente qué sucedió, mi mejor estimación es algún proceso de fondo de Oracle, pero no tengo ni idea de cómo verificarlo.
Actualización 3: Volví a encontrar con este mismo problema la última vez que volví a ejecutar el script, esta vez fallando en el "límite" del usuario. Para probar algo nuevo, inicié sqlplus y ejecuté manualmente el comando drop user cap cascade
y, he aquí, funcionó bien. Probé el script y se ejecutó hasta su finalización. Por lo tanto, dado que eliminar manualmente a un usuario funciona sin problemas, sospecho fuertemente que el script en sí tiene la culpa.
Si funciona el comando 'drop user cap cascade' (presumiblemente de sql * plus) y su script tiene problemas, entonces sería útil ver su script. –