martes, 28 de agosto de 2012

Parámetro INITRANS y evento "enq: TX - row lock contention"

El parámetro de configuración INITRANS se gestiona de forma automática desde hace algunas versiones Oracle, pero, en sistemas con concurrencias dispares a lo largo del tiempo quizás conviene
dejarlo en un valor fijo grande para evitar formateos de bloques con valores bajos de ese parámetro y consecuentes problemas de adquisición de bloqueos (enq: TX - row lock contention).

Para analizar uno o varioas bloques:

alter system dump datafile <file_id> block <Block_id>;
alter system dump datafile <file_id> block min <Block_id min> block max <Block id max>;

Buscamos en el udump ... el fichero de traza generado y la cadena "itc", que indicaría el número de ITL reservados realmente para el bloque analizado.

Si vemos que es insuficiente para nuestra tasa de concurrencia, cambiaríamos el INITRANS de los objetos afectados (suponiendo una concurrencia máxima de 80 sesiones):

ALTER [TABLE|INDEX] ... INITRANS 80;


No hay comentarios:

Publicar un comentario