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.