[ORACLE] – Identificando SQL problemático
A view V$SQL mostra as instruções SQL que estão no pool compartilhado juntamente com estatísticas sobre sua operação. Isso a torna essencial para examinar as instruções SQL. Este post será bem curto e objetivo, mostrando 3 exemplos de consultas utilizando essa view de forma bem prática e útil.
Top 10 – SQL mais executados:
1 2 3 4 5 | SELECT sql_text, executions FROM (SELECT sql_text, executions, RANK() OVER (ORDER BY executions DESC) exec_rank FROM v$sql) WHERE exec_rank <= 10; |
Top 10 – SQL que mais exigiram leituras físicas:
1 2 3 4 5 6 | SELECT sql_text, disk_reads FROM (SELECT sql_text, disk_reads, DENSE_RANK() OVER (ORDER BY disk_reads DESC) DiSk_READS_RANK FROM v$sql) WHERE disk_reads_rank <= 10; |
Top 10 – SQL que mais exigiram leituras lógicas:
1 2 3 4 5 6 | SELECT sql_text, buffer_gets FROM (SELECT sql_text, buffer_gets, DENSE_RANK() OVER (ORDER BY buffer_gets DESC) buffer_gets_rank FROM v$sql) WHERE buffer_gets_rank <= 10; |
Fique a vontade para alterar as consultas acima – você pode alterar o “top 10″ para top 5, top 20, ou o número que quiser – basta alterar o valor da cláusula WHERE de cada consulta.
Fonte:
http://blog.gaudencio.net.br/2013/10/oracle-identificando-sql-problematico.html