7289 - Deadlocks no banco de dados
Problema: Verificado que está ocorrendo deadlocks no banco de dados com certa frequência. Abaixo segue o log que é apresentado:
Thread 1 advanced to log sequence 7683 (LGWR switch)
Current log# 5 seq# 7683 mem# 0: /redo1/RONDAPRD/redo05a.rdo
Current log# 5 seq# 7683 mem# 1: /redo2/RONDAPRD/redo05b.rdo
Tue Oct 30 14:57:53 2012
Archived Log entry 7665 added for thread 1 sequence 7682 ID 0x66b66f1a dest 1:
Tue Oct 30 14:57:55 2012
ORA-00060: Deadlock detected. More info in file /ora/diag/rdbms/rondaprd/RONDAPRD/trace/RONDAPRD_ora_5693.trc.
*** 2012-10-30 14:57:55.373
Anexo segue o arquivo de log com mais informações.
Quando ocorre / onde se aplica: Pode ocorrer em ambientes que possuem integração com qualquer fabricante de hardware, principalmente os que precisam da Concentradora.
Solução: Verificado que os deadlocks estavam ocorrendo porque haviam registros inconsistentes na base de dados, tabela R070CON. Existe a possibilidade parametrizar o processo automático de limpeza desta tabela para que ela consista os históricos dos colaboradores. Além disso, devem ser verificadas as seguintes questões:
1. Se o processo automático de inicialização da R070CON está executando de hora em hora;
- Verifique a periodicidade desse processo no cliente. Uma vez por dia, em horários de inatividade do sistema já é suficiente. Ou uma vez por semana se a base for muito grande.
2. As tabelas de comandos (R070ONL) e pendências (R070ADM) estavam muito grandes, demorando para gerar pendências e consequentemente travando por mais tempo operações na R070CON.
- Verificar se os processos de limpeza de pendências e comandos estão ativos e executando sem erros. Esses também podem ser executados diariamente, em horário de inatividade do sistema.
Thread 1 advanced to log sequence 7683 (LGWR switch)
Current log# 5 seq# 7683 mem# 0: /redo1/RONDAPRD/redo05a.rdo
Current log# 5 seq# 7683 mem# 1: /redo2/RONDAPRD/redo05b.rdo
Tue Oct 30 14:57:53 2012
Archived Log entry 7665 added for thread 1 sequence 7682 ID 0x66b66f1a dest 1:
Tue Oct 30 14:57:55 2012
ORA-00060: Deadlock detected. More info in file /ora/diag/rdbms/rondaprd/RONDAPRD/trace/RONDAPRD_ora_5693.trc.
*** 2012-10-30 14:57:55.373
Anexo segue o arquivo de log com mais informações.
Quando ocorre / onde se aplica: Pode ocorrer em ambientes que possuem integração com qualquer fabricante de hardware, principalmente os que precisam da Concentradora.
Solução: Verificado que os deadlocks estavam ocorrendo porque haviam registros inconsistentes na base de dados, tabela R070CON. Existe a possibilidade parametrizar o processo automático de limpeza desta tabela para que ela consista os históricos dos colaboradores. Além disso, devem ser verificadas as seguintes questões:
1. Se o processo automático de inicialização da R070CON está executando de hora em hora;
- Verifique a periodicidade desse processo no cliente. Uma vez por dia, em horários de inatividade do sistema já é suficiente. Ou uma vez por semana se a base for muito grande.
2. As tabelas de comandos (R070ONL) e pendências (R070ADM) estavam muito grandes, demorando para gerar pendências e consequentemente travando por mais tempo operações na R070CON.
- Verificar se os processos de limpeza de pendências e comandos estão ativos e executando sem erros. Esses também podem ser executados diariamente, em horário de inatividade do sistema.