sábado, 30 de janeiro de 2010

Consulta da última instrução executada por uma sessão no Oracle

Quando for necessário consultar qual a última instrução executada por uma sessão do Oracle, podemos utilizar as views do dicionário do Oracle para obter esta informação:

SELECT DISTINCT A.PIECE, A.SQL_TEXT

  FROM V$SQLTEXT_WITH_NEWLINES A, V$SESSION B, V$OPEN_CURSOR C
WHERE RAWTOHEX(A.ADDRESS) = RAWTOHEX(C.ADDRESS)
     AND A.HASH_VALUE = C.hash_value
     AND B.SID= NumeroDaSessaoOracle
     AND B.SID = C.SID (+)
     AND B.SQL_ADDRESS = C.ADDRESS (+)
Order by PIECE

   Altere o NumeroDaSessaoOracle pelo código da sessão que desejas consultar. Para obter este número consulte a view V$Session.

Nenhum comentário:

Postar um comentário