jueves, 28 de octubre de 2010

Script - TopQ

Muestra las sentencias que existen en v$open_cursor, v$sqlarea, filtrando por aquél texto que se le pasa como parámetro, con información acerca de la máxima fecha de carga, máxima fecha de uso (last_active_time), usuario, modulos, servidores, etc

A usar preferiblemente tras sentencias TopD, TopE, TopB  ... para analizar de dónde vienen las sentencias encontradas como pesadas.

SET HEAD ON
SET LINESIZE 1000
SET PAGESIZE 2000
SELECT mAX(S.LAST_LOAD_TIME) MAX_LAST_LOAD_TIME,
    max(S.LAST_ACTIVE_TIME) max_LAST_ACTIVE_TIME,
    count(1) total,
       SUBSTR(V$SESSION.USERNAME,1,15) USUARIO,
       SUBSTR(V$SESSION.OSUSER,1,10) OSUSER,
       SUBSTR(V$SESSION.STATUS,1,10) ESTADO,
       SUBSTR(V$SESSION.SERVER,1,7) SERVER,
       SUBSTR(V$SESSION.module,1,20) modulo,
     SUBSTR(V$SESSION.MACHINE,1,30) MAQUINA,
     C.SQL_TEXT
FROM
     V$SESSION,
     V$PROCESS,
     v$sqlAREA S,
     V$OPEN_CURSOR C
WHERE
    (V$SESSION.PADDR = V$PROCESS.ADDR) AND
    (V$SESSION.USERNAME IS NOT NULL) AND
    (V$SESSION.SERVER LIKE 'DEDIC%') AND
    C.SID=V$SESSION.SID AND
    upper(C.SQL_TEXT) LIKE '%'||upper('&&1')||'%' AND
    C.SQL_ID=S.SQL_ID
group by
       SUBSTR(V$SESSION.USERNAME,1,15) ,
       SUBSTR(V$SESSION.OSUSER,1,10) ,
       SUBSTR(V$SESSION.STATUS,1,10) ,
       SUBSTR(V$SESSION.SERVER,1,7) ,
       SUBSTR(V$SESSION.module,1,20) ,
     SUBSTR(V$SESSION.MACHINE,1,30) ,
     C.SQL_TEXT
ORDER BY 4 asc,1
/

No hay comentarios:

Publicar un comentario