Pular para o conteúdo
WaitScope Entrar Solicitar acesso (por e-mail) Menu

Detalhe do comando

A página de um comando: o peso no tempo total, o texto com os objetos em destaque, o perfil exclusivo, as chamadas e o SQL recursivo filho.

Vale para: Traces 10046, console 1.7.0

O detalhe de um comando junta tudo o que o trace diz sobre ele: o peso no tempo total, o texto, onde o tempo dele foi, as chamadas, o plano e os comandos que ele disparou.

O que a seção mostra

Clique no número ou no texto de um comando em qualquer lista do relatório, ou no link do achado que trata dele, como Ver comando #2. Na console, o detalhe abre numa página própria, com o caminho Análises / nome da análise / Comando #n. No HTML baixado, o detalhe existe para os comandos que aparecem em alguma lista ou achado e só é montado quando você clica: ele toma o lugar do relatório na página, e Voltar ao relatório ou o botão Voltar do navegador levam de volta à lista. No PDF, ele fica no fim, em Detalhe dos comandos.

O título traz a posição e o tipo do comando, como #1 · SELECT, com o sql_id e o hash value (hv). Numa forma, que soma comandos que só diferem nos literais, o título traz o selo N variantes no lugar deles, porque cada variante tem o seu (as variantes nas listas). Logo abaixo, os números:

  • Peso no tempo total: a contribuição do comando, em segundos e em parte do tempo total (Comandos SQL);
  • Inclusivo: a duração de todas as chamadas do comando;
  • Profundidade: 0 com chamado pela aplicação, ou 1 ou mais com SQL recursivo. Numa forma, é a menor profundidade das variantes; quando ela é 0, o número vem com a menor entre as variantes;
  • Erros: quantas linhas ERROR o cursor do comando teve, quando teve alguma (erros).

Depois vêm os blocos Texto, Variantes que mais gastaram (só numa forma), Perfil do comando, Chamadas, um Plano de execução para cada plano gravado (plano de execução) e SQL recursivo executado por este comando.

Como ler

Texto

O texto do comando como o trace gravou. Quando o plano tem operações em destaque, os objetos delas aparecem marcados no texto com o número da operação em destaque, e uma nota embaixo diz qual operação usa cada um. Num acesso por índice, a marca vai na tabela do índice, porque o índice não aparece no SQL. Quando o objeto não está no texto, a nota diz que ele vem de uma view, de um sinônimo ou de SQL recursivo.

Duas mensagens podem aparecer no lugar do texto ou abaixo dele: Texto não disponível: o cursor foi aberto antes do início do trace. e Texto cortado: o trace declara N caracteres., quando o texto guardado é menor que o declarado. Numa forma, o texto é o SQL com os literais trocados, e a nota Texto da forma: os literais viraram :s (texto) e :n (número). aparece embaixo.

Com a Privacidade dos relatórios ligada em Minha conta, o SQL sai com o texto entre aspas, os números usados como valor, ou os dois, trocados por ***, conforme as opções marcadas (literais escondidos).

Variantes que mais gastaram

Numa forma, a tabela lista as variantes que mais tempo gastaram nas próprias chamadas, da que mais gastou para a que menos gastou:

Colunas de Variantes que mais gastaram
ColunaO que diz
SQL IDO sql_id da variante ou, sem ele, o hash value, como hv 123. A coluna some quando nenhuma variante traz um nem outro.
ChamadasQuantas chamadas a variante teve.
Inclusivo (s)A duração de todas as chamadas da variante.
LiteraisOs valores da variante, na ordem em que aparecem no texto, separados por vírgula: o que muda de uma variante para outra.

Use os literais para achar na aplicação o trecho que monta o SQL e o SQL ID para procurar a variante no banco. Quando a contagem de variantes é estimada, as variantes que a análise não lembrou uma a uma ficam fora da tabela (trace com muitos comandos). Com a Privacidade dos relatórios ligada, os literais saem com *** conforme as opções marcadas, e a coluna SQL ID some com qualquer uma delas: o sql_id é calculado a partir do texto com os valores e permitiria descobrir o literal escondido.

Perfil do comando

O perfil exclusivo do comando: as esperas dentro das chamadas dele e entre elas no cursor dele, a CPU de cada tipo de chamada, o tempo não contabilizado dentro das chamadas e a linha SQL recursivo (comandos filhos), com a duração das chamadas que o comando disparou.

As colunas são Componente, Duração (s), % (a parte no tempo do próprio comando, e não no tempo total), a barra e Ocorrências. O nome de cada componente abre o mesmo cartão do perfil.

Chamadas

Colunas da tabela Chamadas
ColunaO que diz
ChamadaO tipo de chamada, na ordem do tkprof: PARSE, EXEC, FETCH, UNMAP, SORT UNMAP, CLOSE e os demais.
QuantidadeQuantas chamadas daquele tipo o comando teve.
CPU (s) e Duração (s)A soma de c= e de e=, em segundos com seis casas.
Disco (PIO)Blocos lidos do disco (p=).
Consistente (CR)Leituras lógicas em modo consistente (cr=), as das consultas.
Corrente (CU)Leituras lógicas em modo corrente (cu=), típicas de DML.
LinhasLinhas devolvidas ou processadas (r=).
MissesFalhas na library cache (mis=). No PARSE, cada miss é um hard parse.

SQL recursivo executado por este comando

Os comandos filhos que mais demoraram, do que mais demorou para o que menos demorou, com #, Duração (s) e Texto. O número leva ao detalhe do filho quando ele está entre os comandos do relatório. Um filho que é uma forma traz o selo N variantes antes do texto.

Quando preocupa

  • Peso no tempo total bem maior que o inclusivo: o tempo está entre as chamadas, e o perfil do comando mostra qual espera, quase sempre SQL*Net message from client (sessão esperando a aplicação).
  • PARSE com Quantidade perto da de EXEC: o cursor é aberto e fechado a cada uso (um PARSE a cada execução). Misses perto da Quantidade do PARSE: hard parse (muitos hard parses).
  • FETCH com Quantidade perto de Linhas: uma linha por chamada (muitos FETCH com poucas linhas).
  • Consistente (CR) muito acima de Linhas: o plano lê blocos demais para o que devolve. Vá às operações em destaque do plano.
  • A linha SQL recursivo (comandos filhos) pesa num SELECT ou DML simples: função chamada por linha ou trigger pesado (linha a linha em PL/SQL).

Para onde ir depois

Atualizado em 29/10/2026. Relatar erro nesta página