El otro día, arrancando la base de datos de un cliente, me encontré con el siguiente error al realizar el «startup»
Pero…¿Por qué sucede esto? El motivo del error es porque se ha quedado algún proceso colgado a nivel de sistema, y se soluciona matando el proceso que se ha quedado pillado.
Vamos a mirar a nivel de sistema si tenemos algún proceso colgado basándonos en el comando ipcs. Este comando nos muestra información sobre la comunicación entre procesos. Si queremos saber algo más de este comando, os dejo por aquí el enlace de la página oficial de linux.
El resultado del comando es el siguiente
Ahí vemos que tenemos cuatro procesos de oracle sospechos de que se hayan quedado «tostados». Vamos a intentar obtener más información sobre esos cuatro procesos apoyándonos en el comando lsof.
El comando lsof «list open files» podemos ver los archivos abiertos junto con su proceso. Vamos a filtrar ahí los valores de la columna shmid obtenidos del proceso anterior
Podemos observar que son todos de un único proceso, el 4579. Procedemos a matar ese proceso con el comando kill
Revisamos de nuevo los procesos
¡Listo! Como podemos observar ya no vemos el proceso de Oracle. Ahora vamos a intentar arrancar la base de datos…
Listo, ya arranca la base de datos.
¡Espero que os sirva!