21062 - Integrador Matriz/Filial lento ou OFFLINE
Problema: Descrição do Problema: O integrador matriz ou o filial apresentam-se com lentidão e com status de threads offline, no monitor ou no log dos integradores
Rotina / Tela: Integrador Monitor
Solução: Solução: Esta situação pode ocorrer por lentidão na base de dados do próprio integrador (Filial ou Matriz).
Neste caso, são necessárias ações no banco de dados para poder restabelecer a performance do mesmo.
Recomenda-se o processo de VACCUM, o qual deve ser conduzido por um DBA ou profissional com conhecimento em banco, não nos responsabilizamos por eventuais danos causados ao banco, que faz parte da infra do sistema e é de responsabilidade do cliente sua manutenção.
Pode eventualmente ocorrer também, porque as requisições estão demorando na base do ERP, neste caso, são necessárias análises específicas para identificar o motivo da lentidão.
Coleta de SQLMon fará parte da análise no banco do ERP, bem como trace de oracle e ainda, execução de estatísticas, processo este, que deve ser acompanhado também por um DBA.
Acerca do integrador matriz especificamente, no monitor quando o mesmo mostra como offline, a regra é:
1) O monitor olha para o banco do IntegradorMatriz, na tabela MONITOR_CONFIG, campo VALOR.
2) Neste campo, tem a data e hora da última vez que a thread rodou e populou este campo.
3) Se o valor ali constante, for 1 minuto menor que a hora do banco, isto é select current_timestamp do postgres (que por sua vez é a hora do servidor postgres), já mostra como OFFLINE.
Abaixo está UM EXEMPLO de comando que pode ser usado num agendamento:
Rotina / Tela: Integrador Monitor
Solução: Solução: Esta situação pode ocorrer por lentidão na base de dados do próprio integrador (Filial ou Matriz).
Neste caso, são necessárias ações no banco de dados para poder restabelecer a performance do mesmo.
Recomenda-se o processo de VACCUM, o qual deve ser conduzido por um DBA ou profissional com conhecimento em banco, não nos responsabilizamos por eventuais danos causados ao banco, que faz parte da infra do sistema e é de responsabilidade do cliente sua manutenção.
Pode eventualmente ocorrer também, porque as requisições estão demorando na base do ERP, neste caso, são necessárias análises específicas para identificar o motivo da lentidão.
Coleta de SQLMon fará parte da análise no banco do ERP, bem como trace de oracle e ainda, execução de estatísticas, processo este, que deve ser acompanhado também por um DBA.
Acerca do integrador matriz especificamente, no monitor quando o mesmo mostra como offline, a regra é:
1) O monitor olha para o banco do IntegradorMatriz, na tabela MONITOR_CONFIG, campo VALOR.
2) Neste campo, tem a data e hora da última vez que a thread rodou e populou este campo.
3) Se o valor ali constante, for 1 minuto menor que a hora do banco, isto é select current_timestamp do postgres (que por sua vez é a hora do servidor postgres), já mostra como OFFLINE.
Acerca especificamente do Vaccum, caso o volume de dados trafegados seja elevado, recomenda-se a execução de processos agendados de vacumm full, além dos automáticos executados pelo postgres.
A documentação completa desse processo está em: https://www.postgresql.org/docs/10/app-vacuumdb.html
Nossa recomendação é que haja um agendamento no mínimo semanal para esta ação.
Abaixo está UM EXEMPLO de comando que pode ser usado num agendamento:
vacuumdb -d <NOME_DATABASE> -v -z -h <SERVER> -p 5432 -U <OWNER>
A validação requer análise de um DBA ou pessoa com conhecimento em infra de banco de dados.
A validação requer análise de um DBA ou pessoa com conhecimento em infra de banco de dados.
Obs: O Agendamento semanal deve ser feito por uma cron ou gerenciador de tarefas do SO.
Caso o comando precise informar um usuario/senha, pode-se configurar o arquivo pgpass.
https://www.postgresql.org/docs/10/libpq-pgpass.html
Caso o comando precise informar um usuario/senha, pode-se configurar o arquivo pgpass.
https://www.postgresql.org/docs/10/libpq-pgpass.html