Tempo aproximado para leitura: 00:02:55 min
Dúvida
Como otimizar a atualização do TOTVS Datasul com o menor tempo de parada?
Ambiente
Framework - Framework (Linha Datasul) - Instalação/Atualização - Versão 12
Solução
A seguir estratégias para acelerar a aplicação de pacotes em Produção. O foco é garantir que a atualização ocorra com o menor tempo possível:
1 - Evite acumular pacotes;
Atualizações frequentes minimizam o tempo de parada, mantém o ambiente próximo à expedição contínua e garante maior estabilidade ao Datasul.
2 - Importância ambiente Teste;
Realizar a atualização dos pacotes primeiramente no ambiente Teste para após programar a atualizar em ambiente de Produção.
3 - Testar as rotinas, menos ônus para o DBA - Administrador de Banco de Dados, cada área faz sua parte;
O DBA ou responsável pela atualização do ambiente, deve solicitar para que cada área realize o máximo de testes possível em suas rotinas. A colaboração de todos é fundamental para garantir o sucesso da atualização e evitar impactos negativos no período pós atualização.
4 - Validação do pacote;
Verificando se o pacote de atualização está atualizado. Neste ponto é verificado se o Pacote e o Console de Atualização estão atualizados com o último pacote liberado. Se o Pacote ou Console de Atualização estiver desatualizado, será exibido o status NOK.
5 - Conferência de definições na atualização da Produção
A etapa de Conferência de Definições irá consistir se o banco de dados origem que será atualizado está com as definições atualizadas até o pacote esperado. Essa consistência é feita com os arquivos do diretório ..\pacote-atualizacao\cax\ correspondente ao banco de dados. Quando apresenta como Diferente a tabela possui o CRC diferente do CRC da tabela na expedição do produto.
Para a atualização do ambiente de Produção, recomenda-se executar a Conferência de Definições apenas no primeiro pacote, enquanto o ambiente ainda estiver online. Como se trata apenas de uma validação, essa etapa deve ser omitida na aplicação dos demais pacotes para minimizar o tempo de inatividade.
Após finalizar a atualização e com o ambiente de Produção ativo, caso haja um novo pacote disponível no Console de Atualização, recomendamos baixar o arquivo de acerto e executar apenas a etapa de Conferência de Definições. O objetivo é validar o dicionário do ambiente em relação ao banco oficial, utilizando as definições contidas na pasta CAX do pacote.
6 - Utilização de PASOE no Console de Atualização
Servidores de aplicação são usados para executar processos em servidores diferentes do utilizado para executar o Console de Atualização. Independente da seleção informada na tela de configuração de servidores de aplicação, cada etapa do processo questionará se deverá utilizar os servidores de aplicação cadastrados. Caso não tenha disponibilizado servidores de aplicação para o Console, essa opção nas etapas seguintes estará desabilitada.
Para os processos de Conferência de Definições e Dados, Preparação de Dicionário e Correção de Dicionário, será utilizado apenas o primeiro Servidor de Aplicação cadastrado. Assim é possível conectar ao banco de dados em modo monousuário para esses processos. Para a etapa de Atualização de Dados, todos os servidores de aplicação cadastrados serão utilizados simultaneamente, dividindo os programas entre eles.
O balanceamento entre os agentes será realizado pelo próprio PASOE.
7 - Alteração de tabelas com grande volume de dados
Quando são criados ou alterados índices em tabelas com grande volume de dados, é mais interessante criá-los inativos e depois reativá-los. Para isso, edite os arquivos .df do diretório dfprep que possuem a criação de índices, incluindo a palavra INACTIVE na definição desses índices.
ADD INDEX "data-esp" ON "movto-estoq" AREA "Schema Area" INACTIVE INDEX-FIELD "dt-trans" ASCENDING INDEX-FIELD "esp-docto" ASCENDING INDEX-FIELD "cod-estabel" ASCENDING INDEX-FIELD "it-codigo" ASCENDING
Após a execução da etapa de Preparação de Dicionário utilize o comando abaixo como exemplo para ativar todos os índices inativos do banco de dados:
proutil ems2mov -C idxbuild inactiveindexesÉ possível também reindexar todas as tabela do banco de dados, executando o comando:
proutil banco -C idxbuild alllO comando idxbuild é realizado com o banco offline. Tenha um backup válido do banco, pois se o processo de idxbuild não finalizar corretamente, deixará o banco em um estado inconsistente, exigindo o retorno do backup.
Saiba mais
Artigos complementares em:
Framework - Linha Datasul - TEC - Validando do ambiente pelo Console de Atualização
Framework - Linha Datasul - TEC - Configurando o PASOE para o Servidores de Aplicação no Console de Atualização
Framework - Linha Datasul - TEC - Lentidão na etapa de Preparação de Dicionário quando há criação de índice em tabela com grande volume de dados
Framework - Linha Datasul - TEC - Index name is inactive and cannot be referenced
0 Comentários