Pessoal, estou tendo um problema quando o pessoal faz reporte de produção que gera muitos lock table, bastante mesmo. chega ao ponto de eu ir no promon na opcao R&D. Advanced options / 6. Lock Table / 1. Display all lock entries dai o promon fica parado, depois de muito tempo o banco cai, mas somente nesta opção, nas demais sem problemas também vi que quando roda reporte de produção, os Lock table entries in use: sobe bastante, quase ao ponto de estourar o limite do -L e olha que eu aumentei esse parametro. Alguém já passou por isso ?????
Pedro, O que eu já presenciei é uma lentidão extrema para ler os dados da VST (tabela virtual) _Lock. Como o promon é baseado nesta VST, a lentidão do promon justifica-se. Porque a VST é lenta? Porque ela não é uma tabela e não possui registros. Quando acessamos a _Lock (ou qualquer outra VST), o Progress vai nas estruturas de memória, consulta as informações e gera os registros on-the-fly. As estruturas de memória são listas encadeadas, tabelas hash, listas circulares, e tudo aquilo que aprendemos nas aulas de estruturas de dados na graduação. Enfim, tudo isso não resolve teu problema. Se algum programa solicita locks, o banco de dados sempre vai atender, a não ser que: - exista outro lock conflitante; - acabou espaço de memória (parâmetro -L); As vezes a quantidade de locks é necessária, outras vezes é possível ajustar o programa.
Eu também tive problemas com o reporte de produção que fica locando vários registros. Tive problemas em que o banco de dados caiu por ter matado o processo do promon, pois o mesmo ficava muito tempo processando e deixava o sistema muito lento. Abrí várias FOs na Datasul e já houve uma melhora considerável. Ainda tenho outras FO que está em desenvolvimento para corrigir o problema de lock dos registros.