enq: US – contention, buffer busy waits y automatic tuning de undo_retention

Cuando aparecen estos sintomas en Oracle 10gR2 y tienes desactivado el autoextend en los datafiles de los tablespace de undo:

1. enq: US – contention, contencion de Undo Segments

2. aumento constante de v$waitstat.file header block

3. buffer busy waits sobre los bloques de la cabecera de los datafiles de UNDO, esto se ve en p1 y p2 de v$session

4. v$undostat.tuned_undoretention tiene un valor exagerado

5. el valor de dc_rollback_segments v$rowcache es exagerado (incluso llegando a negativo)

6. El UNDO esta muy “lleno”

7. Hay muchos segmentos de Rollback en estado Offline, cientos

Activa el autoextend de los datafiles de UNDO con un maxsize (el mismo que el tamaño actual es suficiente). La combinacion de estos sintomas podria generar un aumento de consumo de CPU del 5% a 10% (principalmente por los buffer busy waits)

Esto paso en un RAC de 4 nodos donde solo dos nodos mostraban estos sintomas sin embargo creo que un mono-instancia tambien podria pasar. Tiene que haber bastantes modificaciones como inserciones constantes.

El problema parece que esta relacionado con el tuning automatico de retencion de undo…. Esta reportado como bug 5749075 pero el workaround que ofrece no es el unico, poner autoextend on es mucho mas simple y menos intrusivo (no tienes que tocar parametros ocultos)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s