Encontrar SQLs sem Binds

A falta de Binds em comandos SQL só costuma ser um problema quando temos milhares de execuções deste tipo, em um intervalo de poucas horas. Ou se já estiver faltando CPU para o servidor, algumas centenas de SQLs sem Binds já causam um bom estrago.

Este problema é caracterizado pelo alto consumo de CPU, e principalmente pelos Wait Events de Library Cache.

Eu uso este SQL para localizar comandos (com o começo) parecidos, para aí procurar por SQLs repetitivos sem Binds. Possivelmente você terá que alterar a quantidade de caracteres (eu coloquei para agrupar pelos 200 primeiros) para encontrar o SQL agressor.

SET PAGES 1000
SET LINES 210
COL SUB_SQL_TEXT FORMAT A100
SELECT COUNT(SQL_TEXT), SUBSTR(SQL_TEXT,1,200) SUB_SQL_TEXT FROM V$SQL HAVING (COUNT(SQL_TEXT) > 1000) GROUP BY SUBSTR(SQL_TEXT,1,200) ORDER BY 1;

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.