Ir para o conteúdo principal

Descobrir SQL's executados (V$SQL)

V$SQL: É uma tabela de consulta dos SQL executados sem GROUP BY, normalmente são atualizadas após a execução de uma consulta. Porem, para consultas de longa execução, elas são atualizadas a cada 5 minutos.

Isso facilita a visualização do impacto das instruções SQL de execução longa enquanto eles ainda estão em andamento. Pode ser utilizado, por exemplo, para descobrir qual SQL está sendo executado em um Kanban.

SELECT * 
  FROM V$SQL

Exemplo: 

image-1646855117085.png

No Kanban em que deseja descobrir os SQL sendo executados filtre algum dado que exista, neste caso usamos o cliente. Assim que pesquisar use o SQL abaixo para ver os últimos SQL executados.

Para filtrar mais a consulta retornada você pode adicionar condições ao SQL do v$SQL como o like, segue o exemplo para esse caso.

SELECT *
  FROM V$SQL 
 WHERE SQL_FULLTEXT  LIKE '%288%'
   AND SQL_FULLTEXT  LIKE '%count%'
   AND SQL_FULLTEXT  LIKE '%12069%'

No primeiro LIKE está sendo filtrado o numero do procedimento do kanban, no segundo é o campo em que deseja descobrir, neste caso queremos saber a quantidade dos card's na coluna e por fim o código do cliente executado no filtro. 

image-1646855448874.png

Com dois clique no ultimo SQL é possível copiar o código e executa-lo.

image-1646855474930.png

Assim traz o resultado de registros, está função pode ser feita para qualquer outro SQL executa em banco ORACLE.

Homologado: ORACLE - 12.5