Hoje vou demonstrar o uso da package DBMS_SQLTUNE para gerar relatórios de monitoramento de SQL’s. Esse recurso foi adicionado na versão 11g, porém algumas funcionalidades entraram apenas na versão 11gR2.

CONFIGURAÇÃO DO AMBIENTE

Primeiramente, vamos conferir dois parâmetros obrigatórios para usar esse recurso:

O parâmetro statistics_level tem que estar com o valor “TYPICAL” ou “ALL”. O parâmetro
control_management_pack_access tem que estar com o valor “DIAGNOSTIC+TUNING”. No meu ambiente, conforme vimos acima, está tudo OK.

/*+ MONITOR */

Vamos usar o hint MONITOR no SQL que desejamos monitorar, conforme o exemplo abaixo.

REPORT_SQL_MONITOR

Com este ID eu consigo gerar o relatório usando o REPORT_SQL_MONITOR.

Pronto! Um arquivo em formato HTML foi criado no diretório especificado  –
D:Worktestesreport_sql.htm. O Arquivo mostra vários detalhes do SQL monitorado: plano de execução, plan hash, horários exatos de execução, duração, qual sessão executou, buffer gets, database time, entre outros.

REPORT_SQL_DETAIL

Essa função retorna detalhes do monitoramento, gerando um HTML da mesma maneira que o exemplo acima. Testem e aproveitem!