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

Objetos com mais espera e página do objeto

Os objetos que mais somaram espera no trace e a página de cada um na console, com consultas prontas para rodar no banco do trace.

Vale para: Traces 10046 com esperas (nível 8 ou 12), console 1.7.0

A seção de objetos diz em que tabelas e índices a sessão esperou. Na console, cada objeto abre uma página com consultas prontas para você rodar no banco do trace e conhecer o objeto: dono, colunas, índices e estatísticas.

O que a seção mostra

A seção Objetos com mais tempo de espera (no índice, Objetos) lista os objetos que mais somaram espera, do que mais somou para o que menos somou. O objeto vem do obj# das linhas WAIT; o nome vem das linhas STAT do próprio trace, quando o objeto aparece num plano. A seção só aparece quando alguma espera traz obj#.

Como ler

Colunas de Objetos com mais tempo de espera
ColunaO que diz
obj#O object_id do objeto no banco do trace. Na console, leva à página do objeto; no HTML baixado, ao detalhe do objeto no próprio arquivo, com o tipo, a espera e onde ele aparece no trace, sem as consultas prontas.
NomeO nome que o plano do trace dá ao objeto. Em branco quando o objeto não aparece em nenhum plano.
Espera (s)A soma das esperas com esse obj#.
OcorrênciasQuantas esperas foram.
Eventos principaisOs eventos que mais somaram tempo no objeto, do maior para o menor.

Leia o objeto junto com os eventos: leitura (db file sequential read, db file scattered read) aponta para o acesso que o plano faz ao objeto; lock e disputa (enq: TX - row lock contention, buffer busy waits) apontam para outras sessões usando o mesmo objeto.

No relatório de exemplo, o objeto 50, a tabela T, soma 0,001 s em 2 leituras de db file sequential read.

A página do objeto

Na console, a página do objeto abre pelo obj# desta seção, pela coluna obj do plano e pelo object_id dos deadlocks. O título é Objeto N com o nome, e a linha de baixo diz o tipo (tabela, índice, view ou sequence, pela operação do plano) e em que banco rodar as consultas: a instância, o container (PDB) e o serviço do trace. As consultas usam as views DBA_; sem esse privilégio, troque por ALL_.

Quando o trace não diz o tipo, um aviso pede para começar pela identificação, porque as consultas de tabela e de índice só devolvem linhas para o tipo certo. O cartão Onde aparece no trace lista as operações de plano que usam o objeto, como Comando #1, operação 1, com link para a linha do plano.

Consultas da página do objeto
BlocoAparece paraO que traz
Identificar o objetotodo objetoDono, nome, tipo e situação, pela dba_objects.
Tabela: dono, nome e colunastabela ou tipo desconhecidoAs colunas, com as estatísticas de cada uma.
Tabela: índices e as colunas de cada umtabela ou tipo desconhecidoOs índices da tabela, com as colunas na ordem do índice.
Índice: detalhes, tabela e colunasíndice ou tipo desconhecidoAltura, folhas, clustering factor e colunas.
View: colunas e textoviewAs colunas e o texto da view.
Sequence: cache e último númerosequenceO cache e o último número da sequence.

Cada bloco tem o botão Copiar. A primeira consulta, com o objeto 50 do exemplo, é esta:

select owner, object_name, subobject_name, object_type, status, created, last_ddl_time
  from dba_objects
 where object_id = 50;

Para tabela e índice, a seção Estatísticas traz blocos para renovar as estatísticas e para voltar ao backup: Renovar as estatísticas da tabela, Voltar as estatísticas da tabela ao backup e os dois equivalentes do índice.

  • Antes de coletar, o bloco guarda as estatísticas atuais em SYSTEM.JB_BACKUP_STATS e mostra o statid do backup. O bloco de volta usa esse statid.
  • A coleta usa no_invalidate => FALSE e roda com degree 1. Troque c_paralelo para TRUE para usar mais processos, só no Enterprise Edition.
  • Rode como SYS ou com um usuário que tenha ANALYZE ANY e acesso ao dicionário.

O object_id é do banco do trace: em outro banco, o mesmo número é outro objeto. Quando o trace traz o nome, o bloco de estatísticas para com erro se o nome no banco for outro. A coleta lê o objeto inteiro e invalida os cursores que o usam, que voltam a fazer hard parse: escolha o horário em produção.

Pela pilha PL/SQL de um deadlock, a mesma página abre para o objeto PL/SQL, com Detalhes do objeto (sem o corpo), Objetos que ele usa, Parâmetros, Corpo do objeto e o trecho de 10 linhas antes e 10 depois da linha da pilha.

Quando preocupa

  • Um objeto concentra a maior parte da espera: é nele que o plano ou a concorrência pesam. Vá às operações que o usam, pelo cartão Onde aparece no trace.
  • Muitas leituras num índice ou numa tabela grande: confira se o filtro do comando é seletivo e se o índice tem as colunas certas, com as consultas de tabela e de índice.
  • Esperas de lock num objeto: outra sessão segura linhas ou a tabela (bloqueio por outra sessão).
  • Estatísticas antigas ou ausentes na consulta da tabela, com estimativa errada no plano: candidatas a renovar (estimativa de linhas errada).

Para onde ir depois

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