You are here¿Quien esta usando tu espacio de UNDO?

¿Quien esta usando tu espacio de UNDO?


By OracleDisected - Posted on 10 May 2008

¿Vives o trabajas en Latinoamerica? ¿Quieres asistir al mejor evento de Oracle del año? El OTN LAD Tour 2012 te extiende una invitación OTN LAD Tour 2012

¿Eres Argentino o vives en Argentina y te interesa MySQL/NoSQL/Cloud? ¡Este evento es para ti! Primer conferencia de usuarios de MySQL / NoSQL & Cloud para América Latina

Seguramente has estado en esta situacion: un tablespace de undo que crece sin control, amenazando con engullir el storage disponible... hasta que comienzan a fallar los procesos con un ORA-01555 porque no se pudo ampliar el tablespace, o misteriosamente deja de crecer y demandar espacio adicional, y posiblemente en los minutos u horas proximas comiences a ver que se libera gradualmente el espacio en el tablespace. Si tu te rascaste la cabeza, preguntandote "¿Que pasó?" o "¿Que usuario hizo esto?", entonces este articulo puede serte muy util.

Hay algunas vistas que muestran informacion relacionada con la actividad de undo:

* V$UNDOSTAT: vista tipo histograma, que muestra estadisticas de uso en intervalos de 10 minutos.
* V$TRANSACTION: vista en tiempo real, que provee informacion de Undo para transacciones en curso.
* V$SESSTAT: todas las estadisticas a nivel de sesion, dentro de las cuales estan consideradas seis (para 9i) y diez(adicionales en 10g) relacionadas con el uso de Undo.

9i
1) DBWR undo block writes
2) data blocks consistent reads - undo records applied
3) remote instance undo block writes (no disponible en 10g)
4) remote instance undo header writes (no disponible en 10g)
5) rollback changes - undo records applied
6) transaction tables consistent reads - undo records applied

10g
7) undo change vector size
8) auto extends on undo tablespace
9) total number of undo segments dropped
10) global undo segment hints helped
11) global undo segment hints were stale
12) local undo segment hints helped
13) local undo segment hints were stale
14) undo segment header was pinned
15) SMON posted for undo segment recovery
16) SMON posted for undo segment shrink
17) IMU undo retention flush
18) IMU undo allocation size

La consulta siguiente puede auxiliar en determinar que usuario, sesion y proceso ha tenido mas actividad:

SELECT c.username, a.sid, c.program, b.name , a.value 
FROM V$SESSTAT a, v$statname b, v$session c 
WHERE a.statistic# = b.statistic# 
AND a.sid = c.sid 
AND b.name like '%undo%' 
AND a.value > 0

V$UNDOSTAT provee una pista de quien hizo, registrando la consulta que mayor tiempo de ejecución tuvo durante ese intervalo de 10 minutos, y proporcionando el dato en la columna MAXQUERYID, la cual puede ser relacionada con la vista V$SQL y de esta ultima usar las columnas PARSING_USER_ID o PARSING_SCHEMA_NAME para echarle el guante al sospechoso.

V$TRANSACTION relacionada con V$SESSION mostrará current el número de bloques utilizados para las transacciones en curso y a cargo de quien. Este query puede ayudar:

SELECT  a.sid, a.username, b.used_urec, b.used_ublk
FROM v$session a, v$transaction b
WHERE a.saddr = b.ses_addr
ORDER BY b.used_ublk DESC

V$SESSTAT es otra vista, que provee una perspectiva quien utiliza el undo, con la advertencia de que debemos evitar perdernos en el laberinto de las estadisticas de Oracle y enfocarnos en solo una: Undo change vector size, la cual acumulara el número de bytes de Undo utilizado durante la vida de la sesión. La consulta siguiente esta diseñada para identificar que sesion está presentando una actividad alta de Undo.

SELECT a.sid, b.name, a.value
FROM v$sesstat a, v$statname b
WHERE a.statistic# = b.statistic#
AND a.statistic# = 176    <-- Es el ID de undo change vector size
ORDER BY a.value DESC 

Exito en la lucha contra esos monstruos devora-Undo...

Vea el articulo relacionado
Como liberar espacio del UNDO en Oracle




Visita mi pagina en Oracle Community
Visita mi blog en Blogger

Suscripcion a Contenido Sindicado(RSS)

Suscribir a Databases Hispamerica por Email



Syndicate

Syndicate content

Follow DatabasesLA on Twitter

Who's online

There are currently 0 users and 0 guests online.

Estadisticas

Locations of visitors to this page

hidden hit counter