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

Erros Oracle no trace

O achado ERROS_ORACLE conta os erros ORA- gravados no trace, menos o ORA-01403: como ver onde cada código apareceu e o que corrigir.

Vale para: Traces 10046

O trace grava cada erro que uma chamada devolve, inclusive os que o PL/SQL tratou e a aplicação nunca viu. O achado conta esses erros e leva à lista de códigos, com o que cada um quer dizer e onde apareceu.

Sintomas

No Diagnóstico, aparece o achado n erros Oracle no trace (ERROS_ORACLE), ou 1 erro Oracle no trace. O texto lembra que o ORA-01403 (fim de dados) não entra na conta e termina com Ver erros.

O achado aparece quando o trace tem pelo menos uma linha ERROR ou PARSE ERROR com código diferente de ORA-01403. O número é a soma das ocorrências de todos os códigos, menos o 1403. A severidade é sempre alta, mesmo com um erro só, e o achado não mostra percentual do tempo total: ele não mede tempo, pede que você confira se o erro é esperado.

Quando o único código do trace é o ORA-01403, o achado é outro: ORA-01403 (fim de dados) no trace.

Causa

  • A linha ERROR registra o erro devolvido por uma chamada de um cursor, como um insert que violou a chave ou um fetch cancelado pelo cliente.
  • A linha PARSE ERROR registra um SQL que não compilou (sintaxe, objeto que não existe, falta de privilégio), com o texto do SQL logo abaixo.
  • Erros em SQL recursivo, dentro de PL/SQL ou de trigger, e erros tratados num bloco exception também aparecem, mesmo que a aplicação nunca os veja.

Cada erro custa o trabalho feito até ele e o desfazer do comando. Quando o erro chega à aplicação, a sessão ainda espera SQL*Net break/reset to client, da classe Application (espera por bloqueio de outra sessão).

Resolução

  1. Clique em Ver erros.

    Resultado: um cartão por código, com O que é, Quando aparece, O que fazer e o link para a documentação da Oracle. Código fora do catálogo da console traz só a nota Código fora do catálogo da console. e o link.

  2. Em Onde apareceu, veja Chamada, Comando, Prof., Ocorrências, Primeira vez e Linha de cada local do erro.
  3. Na coluna Prof., 0 quer dizer que o erro voltou para a aplicação; acima de 0, que veio de SQL recursivo. Nesse caso, confira se o PL/SQL trata o erro ou o esconde com when others.
  4. Clique no comando (#n) para abrir o detalhe dele. Em PARSE ERROR, a coluna Comando mostra o texto do SQL que não compilou.
  5. Corrija pela causa do código, começando pelos mais comuns em trace:
Códigos comuns em trace e por onde começar
CódigoO que costuma ser
ORA-00001Chave única violada: sequence atrás dos dados, carga processada duas vezes ou duas sessões inserindo a mesma chave.
ORA-00060Deadlock: veja deadlock entre sessões.
ORA-00942, ORA-00904Tabela, view ou coluna que não existe para o usuário, em geral em PARSE ERROR: objeto removido, sinônimo ou privilégio faltando, SQL montado errado.
ORA-01013O cliente cancelou a chamada, em geral pelo tempo limite do driver. Veja o plano e as esperas do comando antes de aumentar o limite.
ORA-01722Número inválido: conversão implícita de texto para número num filtro ou numa inserção.
ORA-04068Estado de pacote descartado: o pacote foi recompilado enquanto a sessão o usava.

Erro repetido muitas vezes no mesmo comando custa uma execução a cada ocorrência. O caso típico é o ORA-00001 em laço que insere e trata a exceção: use merge em vez de inserir e capturar o erro.

Em Onde apareceu, o local de um erro numa variante de SQL que só difere em literais aponta para a forma: a coluna Comando traz o número e o texto da forma, com o selo N variantes, e o link abre o detalhe dela. O PARSE ERROR, que não tem cursor, continua identificado pelo texto do SQL que falhou.

Como confirmar

  1. Corrija a causa do código que mais aparece.
  2. Ligue o trace da mesma operação (ligar o trace com o DBMS_MONITOR).
  3. Envie o arquivo novo e abra o relatório.
  4. Compare o número no título do achado e as ocorrências de cada código em Erros.

Resultado: o código corrigido some da seção Erros. O achado some quando sobra no trace, no máximo, o ORA-01403.

No relatório

O relatório de exemplo não tem erros, e a seção Erros só aparece quando o trace tem algum.

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