Pues eso amig@s,
Si observamos que el directorio donde se almacenan los archivelogs en nuestra base de datos, posiblemente sea bien por un cursor o consulta (query) que no esté bien optimizada o que esté ejecutando demasiadas veces en nuestra instancia.
Para identificar el proceso mediante el SID que está generando muchos archivelogs, debemos ejecutar la siguiente consulta:
SELECT s.sid, s.serial#, s.username, s.program,
i.block_changes
FROM v$session s, v$sess_io i
WHERE s.sid = i.sid
ORDER BY 5 desc, 1, 2, 3, 4;
Esta consulta devolverá de mayor a menor el proceso que está generando mas archivelogs por nuestra base de datos.
Luego con el SID, utilizando alguna herramienta gráfica (Sqldeveloper, Toad) podremos identificar la sesión en concreto y actuar en consecuencia.
También con esta otra alternativa, obtendremos más información de la sesión que consume más CPU:
SELECT se.username, ss.sid, ROUND (value/100) "CPU Usage", se.program,se.machine, SE.MODULE,se.action
FROM v$session se, v$sesstat ss, v$statname st
WHERE ss.statistic# = st.statistic#
AND name LIKE '%CPU used by this session%'
AND se.sid = ss.SID
AND se.username IS NOT NULL
ORDER BY value DESC;
Espero que les resulte útil.
Salu2.
Como identificar la causa de la creación excesiva de archivelogs en Oracle
-
Base de datos
,
Noticias
,
Oracle
Edit
0 comentarios:
Publicar un comentario