Os termos do relatório e do trace 10046, em ordem alfabética. Os nomes em negrito são os que a console mostra; os campos do trace estão em Linhas do trace 10046 que o WaitScope lê.
A
- achado
- Item do Diagnóstico: um padrão que costuma explicar o perfil, como espera pela aplicação, leitura lenta ou hard parse. Cada achado tem uma severidade, um título e, quando se aplica, a parte do tempo total envolvida. O código do achado, como
TEMPO_NA_APLICACAO, não aparece na tela: a API o devolve no campocode. É uma pista para a análise, não uma conclusão. Veja Diagnóstico. - ação
- O valor de
ACTION NAME, que a aplicação informa ao banco para dizer o que está fazendo. O relatório lista as ações do trace em Ação, no cartão Sessão e ambiente, sem máscara.
B
- bind (variável de bind)
- Marcador no texto do SQL, como
:1ou:b1, cujo valor vai separado do comando. Com bind, o mesmo cursor serve a valores diferentes. O trace grava os valores no blocoBINDS, nos níveis 4 e 12 do 10046; o WaitScope ignora esse bloco, e os valores nunca entram no relatório.
C
- c
- Tempo de CPU de uma chamada, no campo
c=das linhas PARSE, EXEC, FETCH e CLOSE. No perfil, vira as linhasCPU: PARSE dbcalls,CPU: EXEC dbcallse assim por diante, sem a CPU das chamadas recursivas. - chamada
- Pedido da sessão ao banco, numa linha do trace com o tipo e os números dela: PARSE, EXEC, FETCH, CLOSE e, menos comuns, UNMAP, SORT UNMAP e as chamadas de LOB. O resumo conta todas, em qualquer profundidade, em Chamadas ao banco.
- chamada de nível 0
- Chamada com
dep=0, feita direto pela aplicação. As recursivas acontecem dentro dela. O intervalo entre o fim de uma chamada de nível 0 e o início da próxima é tempo entre chamadas: espera pela aplicação ou tempo não contabilizado entre chamadas. - classe de espera
- O grupo do evento de espera no Oracle (
wait_class), como User I/O, System I/O, Commit, Concurrency, Network e Idle. O perfil por classe soma os componentes de cada uma, com CPU, Não contabilizado e Não classificado à parte, e a soma também dá o tempo total. Evento que o WaitScope não sabe classificar fica em Não classificado. Veja classes de espera e SQL recursivo. - CLOSE
- Chamada que fecha o cursor. Traz CPU, duração, profundidade e o tipo de fechamento, e costuma ser rápida.
- coleta
- Vários arquivos de trace analisados como um só. É o caso da aplicação que troca o
tracefile_identifiere reparte a mesma sessão em vários arquivos. O WaitScope põe os trechos na ordem dotim; com mais de uma sessão, o tempo total é a soma do tempo de cada uma. Veja analisar vários traces juntos. - comando
- Um SQL ou bloco PL/SQL distinto do trace, pelo sql_id ou, em trace sem ele, pelo hash value. Comandos distintos, no resumo, conta quantos são, um a um, mesmo quando as listas juntam numa forma os que só diferem nos literais. Quando a conta é estimada, aparece como cerca de N.
- componente
- Cada linha do perfil do tempo de resposta: a CPU de um tipo de chamada, um evento de espera ou uma das duas linhas de tempo não contabilizado. Somados, os componentes dão o tempo total.
- contribuição
- Quanto um comando pesa no tempo total: a duração das chamadas de nível 0 dele somada às esperas entre chamadas no cursor dele. A lista Comandos SQL por contribuição ordena por ela. A diferença entre o tempo total e a soma das contribuições aparece como tempo não atribuído a nenhum comando. Compare com inclusivo.
- cr
- Leituras consistentes (consistent reads): blocos lidos na versão que vale para o início da consulta. Campo
cr=das chamadas e das linhas STAT, coluna Consistente (CR). Somado ao cu, dá o LIO. - cu
- Leituras em modo corrente (current): blocos lidos na versão atual, em geral para alterar dados. Campo
cu=, coluna Corrente (CU). Somado ao cr, dá o LIO. - cursor
- A área que o Oracle usa para executar um comando na sessão. Cada linha do trace traz o número do cursor (
#1), que liga PARSE, EXEC, FETCH, WAIT e STAT ao texto do PARSING IN CURSOR. O mesmo número pode ser reaproveitado por outro comando mais tarde. - custo
- A estimativa do otimizador para uma operação do plano (
cost=na linha STAT), numa unidade interna do Oracle. Não é tempo. Coluna Custo no plano.
D
- deadlock
- Duas ou mais sessões esperando uma pela outra. O Oracle desfaz o impasse com o erro ORA-00060 numa delas e grava o bloco
DEADLOCK DETECTEDno trace dessa sessão. O WaitScope lê o bloco no trace só de deadlock ou dentro de um 10046. Veja Deadlocks. - dep
- A profundidade da chamada (
dep=): 0 para o que a aplicação chamou, 1 para o SQL que esse comando executou, 2 para o SQL disparado pelo de nível 1, e assim por diante. Coluna Prof. na lista de comandos.
E
- e
- A duração da chamada (elapsed), no campo
e=. Inclui a CPU, as esperas dentro dela e as chamadas recursivas. O que sobra depois de tirar tudo isso é tempo não contabilizado dentro da chamada. - ela
- A duração de uma espera, no campo
ela=da linha WAIT. - espera
- Tempo em que a sessão parou à espera de algo: disco, rede, bloqueio, a aplicação. Cada espera é uma linha WAIT com o nome do evento (
nam=) e a duração (ela=). Só aparece com o nível 8 ou 12 do 10046. - esperas entre chamadas
- As esperas fora de qualquer chamada, entre uma chamada de nível 0 e a próxima, como
SQL*Net message from client. O resumo mostra o tempo delas em Esperas, como “N s entre chamadas”. - estimado
- As linhas que o otimizador previu para uma operação do plano (
card=na linha STAT). O detalhe do comando compara com as linhas reais por execução e marca em vermelho o erro de 10 vezes ou mais. Veja estimativa de linhas errada. - EXEC
- Chamada que executa o cursor: roda o DML, abre a consulta ou executa o bloco PL/SQL. Coluna Exec na lista de comandos.
F
- FETCH
- Chamada que busca linhas de uma consulta. Cada FETCH traz um lote de linhas (
r=); muitas chamadas com poucas linhas cada indicam lote pequeno. Veja muitos FETCH com poucas linhas. - forma
- O texto de um comando com os literais trocados por marcadores:
:sno lugar de texto entre aspas e:nno lugar de número. Comandos que só diferem nos literais têm a mesma forma e, nas listas do relatório, viram uma linha só, com os totais somados e o selo N variantes. Veja Textos compartilháveis e literais em vez de bind.
H
- hard parse
- PARSE que precisa montar o cursor do zero, com a análise do texto e a escolha do plano pelo otimizador, porque não achou um igual pronto na memória compartilhada. Aparece como
mis=1na linha PARSE. É comum em SQL com literais no lugar de bind. Veja muitos hard parses.
I
- Idle
- A classe de espera de quando a sessão aguarda trabalho. Num trace de sessão, é quase sempre
SQL*Net message from client: o tempo da aplicação, da rede e do usuário. - inclusivo
- A soma da duração de todas as chamadas de um comando, em qualquer profundidade, com o SQL recursivo que elas disparam. Compare com contribuição.
L
- latência
- A distribuição da duração das esperas e das chamadas em faixas de potências de 10. Mostra se o tempo vem de muitas ocorrências rápidas ou de poucas lentas. Veja Latência.
- linha STAT
- Linha do trace com uma operação do plano de execução: a operação, o objeto, as linhas produzidas, as leituras, o tempo e a estimativa do otimizador. Juntas, as linhas STAT de um cursor formam o plano que o relatório mostra. Veja a linha STAT.
- LIO
- Leituras lógicas: a soma de cr e cu, em blocos. Coluna LIO na lista de comandos.
- literal
- Valor escrito direto no texto do SQL, como
'EXEMPLO'ou42, em vez de um bind. Cada valor diferente vira um texto diferente para o banco. A máscara de literais esconde esses valores no relatório. Veja Literais escondidos no SQL.
M
- mis
- As falhas na library cache (misses) de uma chamada, no campo
mis=. Na linha PARSE,mis=1é hard parse. Coluna Misses em Tipos de chamada. - módulo
- O valor de
MODULE NAME, que a aplicação informa ao banco. O relatório lista os módulos do trace em Módulo, no cartão Sessão e ambiente, sem máscara.
N
- nível do 10046
- O quanto o evento 10046 grava: o nível 1 grava as chamadas, o 4 junta os valores de bind, o 8 junta as esperas e o 12 junta binds e esperas. O perfil precisa das esperas: use o nível 8. Veja níveis do evento 10046.
O
- obj#
- O número do objeto (object_id) na linha WAIT. Liga a espera à tabela ou ao índice lido e é a base de Objetos com mais tempo de espera. O nome vem das linhas STAT do trace, quando existem.
- ocorrências
- Quantas vezes um componente aconteceu: o número de esperas de um evento ou de chamadas de um tipo.
- og
- O objetivo do otimizador, no campo
og=das chamadas. O WaitScope não usa esse campo.
P
- p
- Os blocos lidos do disco por uma chamada, no campo
p=. Coluna Disco (PIO) em Tipos de chamada e PIO na lista de comandos. - PARSE
- Chamada que analisa o texto do SQL e prepara o cursor. Pode ser hard parse (
mis=1), quando monta o cursor do zero, ou reaproveitar um cursor pronto. PARSE a cada execução indica cursor aberto e fechado toda vez. Veja um PARSE a cada execução. - PARSING IN CURSOR
- A linha que traz o texto do SQL de um cursor, até
END OF STMT, com o tamanho, a profundidade, o tipo do comando e o sql_id. - perfil do tempo de resposta
- A tabela que divide o tempo total em componentes: CPU por tipo de chamada, cada evento de espera e o tempo não contabilizado. A soma das linhas é exatamente o tempo total. Veja Perfil e o perfil do relatório de exemplo.
- perfil exclusivo
- O perfil de um comando sem o SQL recursivo que ele dispara. É o que Principais comandos por componente e por classe usa.
- período
- A data e a hora do início e do fim do trace, calculadas do
tima partir das linhas***com data e hora. Aparece em Período, no resumo. - PIO
- Leituras físicas: blocos lidos do disco, no campo
p=das chamadas epr=das linhas STAT. - plano de execução
- As operações que o Oracle usou para executar o comando, montadas a partir das linhas STAT do trace. Mostra, para cada operação, as linhas, as leituras e o tempo, e destaca as que mais pesam. Veja Plano de execução.
- plh
- O plan hash value, no campo
plh=das chamadas: identifica o plano usado. No detalhe do comando, aparece ao lado do título de cada Plano de execução. - pr
- Os blocos lidos do disco por uma operação do plano, no campo
pr=da linha STAT, somados aos das operações filhas. - pw
- Os blocos gravados no disco por uma operação do plano, no campo
pw=da linha STAT, como na ordenação que não cabe na memória. Somados aos das operações filhas, como o pr.
R
- R (tempo de resposta)
- O tempo total da sessão no trace, do início da primeira chamada ou espera até o último
tim. É o Tempo total do resumo e o 100% do perfil. Numa coleta com várias sessões, é a soma do tempo de cada uma. - r
- As linhas processadas pela chamada, no campo
r=: as devolvidas no FETCH ou as alteradas no EXEC de um DML. Coluna Linhas. - recursivo (SQL recursivo)
- SQL executado dentro de outra chamada, com dep maior que 0: o SQL de uma função ou procedure PL/SQL, de um trigger ou as consultas do Oracle ao dicionário. No detalhe do comando, aparece em SQL recursivo executado por este comando. Veja o cartão do SQL recursivo no relatório de exemplo.
- releitura
- A leitura do disco de um bloco que a sessão já tinha lido antes no mesmo trace. Releitura frequente indica cache pequeno ou acesso repetido ao mesmo dado. Veja Leituras.
S
- sessão
- A identificação da sessão rastreada, da linha
*** SESSION ID: o SID e o serial#, seguidos do pid do processo no servidor, em Sessão, no cartão Sessão e ambiente. - severidade
- O peso de um achado no diagnóstico: alta, média, baixa ou informação. O diagnóstico lista os achados da severidade mais alta para a mais baixa.
- sql_id
- O identificador de 13 caracteres que o Oracle dá ao texto de um comando. Vem no campo
sqlid=do PARSING IN CURSOR e serve para achar o mesmo comando no banco, por exemplo emV$SQL. Coluna SQL ID. Em trace antigo, sem ele, o WaitScope usa o hash value (hv=). - SQL*Net message from client
- A espera da sessão pelo próximo pedido da aplicação. Fica entre as chamadas e mede o tempo da aplicação, da rede e do usuário: ajuste de SQL não reduz esse tempo. Veja sessão esperando a aplicação.
- STAT
- Veja linha STAT.
T
- tempo não contabilizado dentro das chamadas
- A parte da duração (
e) de cada chamada que não é CPU (c), nem espera registrada dentro dela, nem chamada recursiva. Costuma ser fila de CPU, paginação de memória ou código sem instrumentação. O valor negativo vem da granularidade da medida de CPU. Veja tempo não contabilizado dentro das chamadas. - tempo não contabilizado entre chamadas
- O tempo entre o fim de uma chamada de nível 0 e o início da próxima sem nenhuma espera registrada: a diferença entre o tempo total e a soma das chamadas de nível 0 e das esperas entre elas. Cresce quando o trace foi ligado ou desligado no meio, quando o processo ficou fora da CPU ou quando falta arquivo da coleta. Veja tempo não contabilizado entre chamadas.
- tempo próprio
- No plano, o tempo de uma operação sem o das operações filhas. O LIO próprio segue a mesma conta.
- tempo total
- Veja R (tempo de resposta).
- textos compartilháveis
- A seção do relatório com as formas, os comandos que só diferem nos literais. Com bind, um único cursor serviria a todas as variantes de uma forma, e os hard parses cairiam. Veja Textos compartilháveis.
- tim
- O instante em que uma chamada ou uma espera terminou, em microssegundos (em centissegundos nos traces do Oracle 7 e 8). O início é o
timmenos oe, ou menos oela. O WaitScope usa otimpara pôr tudo em ordem, medir o tempo total e juntar os arquivos de uma coleta. - trace 10046
- O SQL trace do Oracle, ligado pelo evento 10046 ou pelo
DBMS_MONITOR: um arquivo de texto com cada chamada, espera e plano da sessão. É o que o WaitScope lê. Veja o conteúdo do trace.
U
- unidade de tempo
- A unidade dos tempos do trace: microssegundos do Oracle 9i em diante, centissegundos nos traces do Oracle 7 e 8. O resumo mostra qual em Unidade de tempo. Veja unidade de tempo no trace.
V
- variante
- Cada comando que pertence a uma forma, com os próprios literais. O selo N variantes conta quantas a forma tem, ou mostra cerca de N quando a conta é estimada. No detalhe da forma, a tabela Variantes que mais gastaram traz o SQL ID e os literais de cada uma; com a Privacidade dos relatórios ligada, os literais saem com
***e o SQL ID não aparece. Veja Variantes que mais gastaram.
W
- WAIT
- Veja espera.
X
- XCTEND
- A linha do fim de uma transação:
rlbk=0é commit erlbk=1é rollback. O resumo conta os dois, como “N commits · N rollbacks”.