ARTICULO: Monitorizar tiempo de rollback de una sesión

En ocasiones, debido al funcionamiento normal de las aplicaciones, hay que cancelar alguna operación que está afectando al rendimiento de la base de datos, esto implica matar la sesión problemática mediante un onmode -z, con lo que el gestor se pondrá a realizar un rollback de las acciones realizadas por esta sesión.

Ahora bien, si esta sesión ha realizado muchas operaciones o estas tienen mucha carga, el gestor tardará bastante tiempo en realizar ese rollback, por lo que sería interesante hacernos una idea de lo que va a tardar en realizarse este rollback para poder planificar nuestras acciones en consecuencia.

Para empezar localizamos qué sesiones están realizando algún rollback mediante el siguiente comando:

onstat -x | grep «\-R\-»

Con lo que obtendremos los siguientes campos:

address flags userthread locks begin_logpos current logpos isol est rb_time retrys coord

Pueden existir varias, por lo que tenemos que averiguar de cual se trata comparando la tercera columna de la salida, userthread, con la salida de un onstat -u

onstat -u | grep «numero del userthread»

Cuando estemos seguros de que ésta es la sesión, nos fijaremos en la antepenúltima columna, est rb_time, donde informix nos presenta una estimación del tiempo que va a tardar en realizar el rollback en el siguiente formato:

H:MM

Como la propia columna indica, no es algo exacto sino una estimación que nos puede ser útil para planificar nuestros trabajos en consecuencia.

Para cualquier tema relacionado con este artículo o relacionado con informix, no dude en ponerse en contacto con nosotros en info@proyectosysoluciones.es

Proyectos y Soluciones
Proyectos y Soluciones
Artículos: 163