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

Espera ligada à configuração do banco

O achado CONFIGURACAO aparece quando troca de redo log, buffer, ITL ou sequence pesam no tempo total: o evento diz o limite a ajustar.

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

As esperas da classe Configuration vêm de um limite da instância ou do objeto: redo log pequeno, buffer cache, cache da sequence, espaço de transação no bloco. O evento diz qual limite foi atingido, e a correção costuma ser de configuração, não de SQL.

Sintomas

No Diagnóstico, aparece o achado Espera ligada à configuração do banco (CONFIGURACAO). O texto diz quanto do tempo total ficou na classe de espera Configuration, em percentual e em segundos, lista os eventos da classe que pesaram, lembra o que revisar (redo logs, buffer cache, cache das sequences) e termina com Ver perfil por classe.

O achado aparece quando a classe Configuration pesa no tempo total. A severidade é sempre média, qualquer que seja o percentual. Evento que o relatório não classifica aparece no perfil como Não classificado e não conta aqui.

Causa

Cada evento da classe aponta um limite diferente. As esperas de troca de redo log param toda sessão que gera redo, não só a do trace.

Eventos da classe Configuration e o que cada um pede
EventoO que aconteceuO que revisar
log file switch completionA sessão esperou a troca do arquivo de redo log.Tamanho dos redo logs: trocas frequentes.
log file switch (checkpoint incomplete)O próximo redo log ainda tinha blocos que o checkpoint não gravou.Número e tamanho dos grupos de redo log.
log file switch (archiving needed)O próximo redo log ainda não tinha sido arquivado.Arquivamento parado ou destino cheio.
log file switch (private strand flush incomplete)A troca esperou o redo privado das transações abertas ir para o log buffer.Frequência das trocas de redo log.
log buffer spaceFaltou espaço no log buffer para o redo.Tamanho do log buffer e velocidade do LGWR.
free buffer waits, write complete waitsFaltou buffer livre no cache, ou o bloco estava sendo gravado pelo DBWR.Buffer cache, DBWR e escrita no armazenamento.
enq: SQ - contentionSessões esperando a sequence renovar o cache no dicionário.CACHE da sequence.
enq: HW - contentionVárias sessões alocando espaço acima da marca d'água (HWM) do mesmo segmento.Inserções concorrentes em tabela ou LOB que cresce rápido.
enq: TX - allocate ITL entryO bloco não tinha entrada de transação (ITL) livre para mais uma transação.INITRANS e PCTFREE do objeto.
undo segment extensionO segmento de undo precisou crescer durante a operação.Tamanho e crescimento da tablespace de undo.
enq: ST - contentionDisputa pela alocação de espaço.Tablespace gerenciada pelo dicionário.

Resolução

Ache o evento que o achado lista primeiro na tabela da causa. Os casos vão do mais comum ao menos comum.

Redo log pequeno ou com poucos grupos

Veja o tamanho e a situação dos grupos, e quantas trocas houve por hora nas últimas 24 horas:

select thread#, group#, bytes / 1024 / 1024 as mb, members, status, archived
  from v$log
 order by thread#, group#;
select trunc(first_time, 'HH24') as hora, thread#, count(*) as trocas
  from v$log_history
 where first_time > sysdate - 1
 group by trunc(first_time, 'HH24'), thread#
 order by hora, thread#;

Muitas trocas por hora pedem redo logs maiores; checkpoint incomplete pede também mais grupos. Crie os grupos novos e remova os pequenos quando ficarem INACTIVE, como descreve a documentação da Oracle sobre o redo log. Com archiving needed, confira o destino do arquivamento antes de mexer nos grupos.

Sequence e espaço de transação no bloco

Para enq: SQ - contention, aumente o cache da sequence; em RAC, prefira também noorder:

alter sequence exemplo.pedido_seq cache 1000;

Para enq: TX - allocate ITL entry, aumente o INITRANS do objeto que aparece em Objetos com mais tempo de espera. O valor novo vale para blocos novos; os blocos que já existem só mudam quando a tabela é movida (alter table ... move; sem update indexes, os índices ficam UNUSABLE e precisam ser refeitos) ou o índice é refeito:

alter table exemplo.pedido initrans 10;
alter index exemplo.pedido_pk rebuild initrans 10;

Buffer cache, DBWR e log buffer

free buffer waits e write complete waits apontam para o DBWR, que não grava os blocos alterados rápido o bastante: confira a escrita no armazenamento e o tamanho do buffer cache. log buffer space aponta para log buffer pequeno ou LGWR lento diante de muito redo. São ajustes da instância: leve ao DBA o perfil e o Período do trace.

Espaço e undo

  • enq: HW - contention: várias sessões inserindo num segmento que cresce. Alocar extensões antes da carga ajuda (alter table exemplo.pedido allocate extent;).
  • undo segment extension: o undo cresce durante a operação. Confira o tamanho e o autoextend da tablespace de undo.
  • enq: ST - contention: aparece com tablespace gerenciada pelo dicionário. Prefira tablespaces gerenciadas localmente.

Como confirmar

Esses eventos dependem da carga da instância inteira, como o redo que todas as sessões geram. Meça de novo no mesmo horário e com carga parecida.

  1. Aplique o ajuste do evento que pesava.
  2. Ligue o trace da mesma operação com esperas (ligar o trace com o DBMS_MONITOR).
  3. Envie o arquivo novo e abra o relatório.
  4. Compare a linha Configuration em Por classe de espera e a linha do evento no perfil.

Resultado: a classe Configuration deixa de pesar no tempo total e o achado some do Diagnóstico. No perfil, o evento ajustado cai em Ocorrências ou em Média (s).

No relatório

O relatório de exemplo não tem espera da classe Configuration; os links abrem as mesmas seções nele.

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