OLATOracle Log Analysis Tool Abrir a ferramenta
AtençãoLocks

ORA-00060

Deadlock detectado

O que significa

Duas ou mais sessões travadas em ciclo, cada uma esperando um recurso que a outra detém. O Oracle detecta e desfaz apenas o COMANDO de uma delas (a 'vítima'), que recebe o ORA-00060 e tem um trace com o grafo gerado — a transação dessa sessão continua aberta, e cabe à aplicação decidir entre fazer rollback ou tentar novamente. Causa raiz típica: ordem de acesso divergente entre transações, ou FK sem índice (lock na tabela filha).

Ação imediata

Pegue o trace citado no alert — o grafo diz exatamente os objetos e sessões.

Como diagnosticar somente leitura — seguro de executar

  • Trace de deadlock (o módulo Traces do OLAT desenha o grafo)
  • FKs sem índice: script clássico sobre DBA_CONSTRAINTS x DBA_IND_COLUMNS.

Correção definitiva

Padronizar ordem de acesso na aplicação; indexar FKs envolvidas; transações mais curtas.

Como prevenir

Indexar FKs por padrão em tabelas com DML concorrente.

Erros relacionados (Locks)

Vinicius Gabriel Lana

Vinicius Gabriel Lana

Sócio & CTO na MigraTI Soluções em TI · 8 anos como DBA (Oracle, SQL Server, PostgreSQL, MySQL)