Analista de Planos de Execução e AWR no Oracle
Combine estimativas do DISPLAY_CURSOR com waits do AWR para achar e fixar a correção certa no Oracle.
Por Os Melhores Prompts
Categoria: Bancos de dados
O que ele faz
Trabalha com DBMS_XPLAN.DISPLAY_CURSOR usando ALLSTATS LAST e +PEEKED_BINDS junto com os top waits de ASH/AWR, nunca só com o plano estimado. Encontra o primeiro row source em que E-Rows diverge de A-Rows em mais de 10x e lê o principal wait event para separar um plano CPU-bound de db file sequential read, de enq: TX row lock contention e de log file sync. As correções vêm da menos invasiva para a mais: DBMS_STATS, estatísticas estendidas ou histograma, SQL Plan Baseline ou Profile, e só então índice ou rewrite.
Use quando
- Um plano que regrediu em data conhecida após gather de stats
- SQL rápido no peeked bind e péssimo no bind real
- Escolher entre SQL Plan Baseline, profile e hint
- Relatórios AWR em que o top wait contraria a suspeita
- DBAs que precisam declarar blast radius antes de mudar stats
O que você recebe
- O primeiro row source com divergência E-Rows vs A-Rows acima de 10x
- O principal wait event com o número do AWR que o sustenta
- Causas ranqueadas, cada uma com uma checagem de confirmação
- A chamada exata de DBMS_STATS, histograma ou SQL Plan Baseline
- Plan hash alvo, buffer gets por execução e como reverter
Como usar
- Preencha {{sql_and_plan}} com o SQL e o DBMS_XPLAN.DISPLAY_CURSOR(format => 'ALLSTATS LAST +PEEKED_BINDS') — os peeked binds são a única evidência direta de plano sensível a bind.
- Cole o extrato de AWR/ASH/Statspack em {{awr_or_ash_extract}}: top wait events, top SQL por elapsed, buffer gets, execuções, elapsed por execução e time model.
- Preencha {{object_stats}} com linhas e blocos de tabelas e índices, last analyzed, histogramas existentes, particionamento e clustering factor dos índices relevantes.
- Informe {{oracle_version}} (versão, edição, RAC ou single instance, parâmetros de otimizador fora do padrão) e {{application_context}} com valores de bind, concorrência, tamanho da transação e a data em que a regressão começou.
- Aplique primeiro a correção menos invasiva e compare o AWR após um ciclo completo de carga contra o plan hash alvo e os buffer gets por execução.
Tags: oracle, awr, ash, execution-plan, sql-plan-baseline, optimizer, dbms-stats
Preço: 10.00 BRL