Saltar al contenido

ORA-00060: interbloqueo detectado mientras se esperaba el recurso

Posteriormente a consultar especialistas en esta materia, programadores de deferentes áreas y profesores hemos dado con la solución a la pregunta y la plasmamos en esta publicación.

Recientemente estuve luchando con un problema similar. Resultó que a la base de datos le faltaban índices en extranjeros keys. Eso provocó que Oracle bloqueara muchos más registros de los necesarios, lo que rápidamente provocó un punto muerto durante la alta concurrencia.

Aquí hay un artículo excelente con muchos buenos detalles, sugerencias y detalles sobre cómo solucionar un interbloqueo: http://www.oratechinfo.co.uk/deadlocks.html#unindex_fk

Puede obtener interbloqueos en más que solo bloqueos de fila, por ejemplo, vea esto. Los scripts pueden estar compitiendo por otros recursos, como bloques de índice.

Solucioné esto en el pasado diseñando el paralelismo de tal manera que diferentes instancias están trabajando en porciones de la carga de trabajo que tienen menos probabilidades de afectar bloques que están cerca entre sí; por ejemplo, para una actualización de una tabla grande, en lugar de configurar los esclavos paralelos usando algo como MOD(n,10)usaría TRUNC(n/10) lo que significa que cada esclavo trabajaba en un conjunto contiguo de datos.

Hay, por supuesto, formas mucho mejores de dividir un trabajo para el paralelismo, por ejemplo, DBMS_PARALLEL_EXECUTE.

No estoy seguro de por qué está obteniendo “PL/SQL completado con éxito”, ¿tal vez sus scripts están manejando la excepción?

Me encontré con este problema también. No conozco los detalles técnicos de lo que realmente estaba sucediendo. Sin embargo, en mi situación, la causa raíz era que había una configuración de eliminación en cascada en la base de datos de Oracle y mi código JPA/Hibernate también intentaba realizar las llamadas de eliminación en cascada. Así que mi consejo es asegurarse de que sabe exactamente lo que está sucediendo.

Al final de la post puedes encontrar las interpretaciones de otros administradores, tú además puedes dejar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *