Tempo aproximado para leitura: 00:01:50 min
Ocorrência
No log do JBoss é registrado o erro [DataDirect][OpenEdge JDBC Driver][OpenEdge] Failure getting record lock on a record from table PUB.log_exec_prog_monit.
Ambiente
Framework - Framework (Linha Datasul) - Progress OpenEdge – Todas as versões
Causa
Quando utilizado o Monitoramento de Programas e uma sessão fica presa no banco de dados alocando a tabela log_exec_prog_monit. A tabela em questão mantém o histórico de acesso aos programas do Sistema, ou seja, irá registrar os dados de usuários, data, hora do acesso ao programa bem como a sua saída. Esta parametrização é realizada por programa em bas_prog_dtsul - Programa Produto Datasul marcando a opção Log Exec.
Solução
Encerrar a sessão que está gerando o lock ou reiniciar o banco de dados. Para identificar a sessão, acesse o banco de dados pela ferramenta promon do Progress. Nesse caso: promon emsfnd:
1. Selecione a opção 4. Record Locking Table;
2. Verifique a coluna Flags. A flag Q indica as sessões que estão aguardando pelo lock. Aquela sessão que não estiver com esta flag é a sessão que está travando o registro.
3. Finalize a sessão.
Importante
Recomendamos que seja ativado o log de execução somente para programas mais críticos de sua empresa como: folha de pagamento, rotina do financeiro, relatório com informações confidenciais. Dessa forma, é possível minimizar a concorrência de gravação na tabela de monitoramento e evitar situações de lock.
0 Comentários