sexta-feira, 11 de fevereiro de 2011

Capturar queries executadas em um determinado Periodo

(1) Primeiro crie a tabela que guardara as queires do momento 1 :

CREATE TABLE SQL_EXEC_BEFORE AS
SELECT EXECUTIONS
, HASH_VALUE
FROM V$SQLAREA

(2) Depois gere outra tabela para guardar as queries do momento 2 :

CREATE TABLE SQL_EXEC_AFTER AS
SELECT EXECUTIONS
, HASH_VALUE
FROM V$SQLAREA

(3) Com esta querie abaixo você identifica os sql que foram executados e iniciados entre o periodo 1 e 2 :

SELECT dd.HASH_VALUE ,dd.SQL_TEXT
FROM V$SQLTEXT dd
WHERE dd.HASH_VALUE in ( SELECT AFT.HASH_VALUE
FROM SQL_EXEC_BEFORE BEF ,SQL_EXEC_AFTER AFT
WHERE AFT.EXECUTIONS > BEF.EXECUTIONS
AND AFT.HASH_VALUE = BEF.HASH_VALUE (+)
)
ORDER BY
HASH_VALUE
, PIECE

Nenhum comentário:

Postar um comentário