Árvore de páginas

A partir de 05/07/2021 o Consinco Atualiza DW chamará Atualiza DW.

CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização

01. VISÃO GERAL

Atualizar a versão do ambiente Data Warehouse (DW) possibilitando o acompanhamento dos status da atualização em tempo real.

02. EXEMPLO DE UTILIZAÇÃO

Caminho

Atualiza DW – UPD00002.
O Atualiza DW é disponibilizado junto com o pacote de atualização do Consinco DW

Pré-Requisitos e Restrições

  • A aplicação deve ser executada em um sistema operacional homologado.
  • É necessário ter o .NET Framework 4.8 ou superior instalado.
  • É necessário ter o Oracle Client 32-bit com o arquivo tnsnames.ora configurado.
  • É necessário que o owner CONSINCO tenha privilégio ao dicionário de dados do Oracle (“select any dictionary”).
  • É desejável que o owner CONSINCO tenha privilégio para encerramento de sessões (“alter system kill”).
  • Para usuários não administradores que não tenham permissão de alterar o arquivo Consinco.ini, o Windows pode replicar o arquivo para o diretório Virtual Store (%UserProfile%\AppData\Local\VirtualStore) e gerar confusão no apontamento do banco de dados da aplicação.
  • A partir da versão 21.02 é necessário que a versão do ERP seja igual ou superior à versão do DW para executar a atualização.

Passo a passo

Para utilizar a aplicação faça o login informando o usuário e senha de acesso.

O campo ‘Conexão’ informará em qual base de dados será feito o login. As conexões exibidas para seleção são as que estão cadastradas no Menu.

Primeiro Acesso

No primeiro acesso a aplicação, será verificado se os parâmetros de conexão com a base de dados do DW estão configurados. Caso não estejam, será solicitado que os dados de conexão sejam informados, conforme mensagem abaixo.

Informe os dados de conexão com a base de dados, conforme exemplo abaixo.


As credenciais de conexão com o banco de dados do DW são armazenadas nos parâmetros dinâmicos do ERP, grupo DW, e podem ser alteradas pelo módulo de Parâmetros do ERP.

CNX_DW_ALIAS - Alias (tnsnames) de conexão com o banco de dados do DW (ex: DW)

CNX_DW_USER - Usuário de banco de dados para conexão com o DW (ex: CONSINCODW)

CNX_DW_PWD - Senha criptografada de conexão com o banco de dados do DW.

Tela de Avisos

Após fazer o login, será visualizada a tela de avisos, que exibirá (quando houver) notificações sobre procedimentos/informações referentes ao processo de atualização.

Para continuar a atualização é necessário dar ciência nos avisos. Para isso, marque os avisos como ‘lidos’ clicando nas caixas de cada item.

Ao marcar o aviso como ‘lido’ você confirmará que está ciente sobre os procedimentos/informações que poderão impactar o processo de atualização, conforme demonstrado na imagem abaixo.

Se não houver nenhuma informação referente a atualização da base de dados, a tela de avisos não será exibida ao logar na aplicação, para exibi-la, clique no botão ‘Avisos da Versão’.

Recomenda-se verificar os avisos previamente, uma vez que estes podem conter orientações de ações importantes e necessárias antes e depois da atualização, e que podem exigir tempo hábil para sua execução.

Objetos Inválidos

Se houver objetos inválidos na base, ao fazer o login, será exibido uma mensagem de aviso, conforme imagem abaixo. Verifique se são objetos oficiais, e, se necessário, reporte-os ao suporte TOTVS Varejo Supermercados.

É importante que não haja objetos inválidos, mas isso não impede que a atualização seja executada.

Ao clicar em ‘Ok’ serão exibidos os objetos que estão inválidos, onde será possível ‘Recompilar’ os objetos ou ‘Atualizar’ a lista de verificação. Ao selecionar um registro, na tela ‘Erro’ será exibido seu detalhamento, conforme imagem abaixo.

Se não houver objetos inválidos, a tela não será exibida ao logar na aplicação, para visualizá-la clique no botão ‘Objetos inválidos’.

Usuários e Processos Logados

Para realizar a atualização, é necessário que nenhum usuário ou processo esteja logado na base de dados. Clique no botão ‘Usuários Logados’ para visualizar se há usuário logado na base. Nesta tela é possível ‘Encerrar a sessão’ e ‘Atualizar a lista’.

Preparando Atualização

Antes de iniciar a atualização certifique-se que todos os processos e serviços foram parados e de que não há nenhum usuário conectado na base de dados, caso contrário a atualização não será iniciada e será exibida uma mensagem de alerta, conforme imagem abaixo.

A execução de jobs e schedules será suspensa na instância do banco de dados durante a atualização. Caso o usuário CONSINCODW não tenha permissão para suspender a fila de jobs e schedules, uma mensagem será exibida solicitando que a suspensão ocorra de forma manual.

Clique no botão ‘Atualizar’ para iniciar a atualização.

Antes de iniciar a atualização será exibida mensagem avisando sobre a importância de não ter usuários conectados e sobre a pausa nos processos, conforme imagem abaixo.

Após clicar em ‘OK’ a atualização será iniciada e o andamento será exibido no ‘Histórico da Execução’.

Tenha ciência de que este processo não pode ser abortado, depois de iniciado deve ser concluído. O processo não é reversível, uma vez que o modelo de dados e os objetos serão alterados durante a execução dos scripts, tornando os executáveis utilizados até então incompatíveis.


Executando Atualização

Durante o processo de atualização será exibido o status da execução, informando o andamento total e por tarefas.

Total: Exibe o andamento do total de arquivos da versão.

Tarefa: Exibe o andamento das tarefas dentro de cada arquivo.

Tempo Estimado: Quando o processo de atualização envolve a criação de tarefas longas, como por exemplo, criação de índices ou de novas colunas, a aplicação exibirá o tempo estimado para tal execução.

Tempo Estimado

É importante destacar que o tempo estimado é do Oracle, e sua exibição está condicionada ao Oracle fornecer a informação. Algumas operações podem envolver mais de uma etapa (ex: scan, sort), e o tempo estimado é de cada etapa.


image2021-8-5_11-35-23.png

Sessão Bloqueada: Se durante o processo de atualização acontecer de algum usuário conectar-se na base e bloquear uma sessão, o processo poderá ser interrompido e a aplicação exibirá o status ‘Sessão bloqueada’, conforme imagem abaixo.

Para verificar qual sessão está bloqueando a atualização e encerrá-la, acesse a tela ‘Usuários e Processos logados’, conforme opção mencionada anteriormente.

Se a execução da atualização for interrompida de forma anormal por qualquer motivo, como por exemplo reinício da máquina, ao abrir a aplicação novamente o processo continuará de onde parou, sendo necessário apenas iniciar a execução da atualização novamente.

Ao finalizar a atualização, se houver objetos inválidos, será exibida uma mensagem de aviso. Verifique se são objetos oficiais, e, se necessário, reporte-os ao suporte TOTVS Varejo Supermercados. É importante que não haja objetos inválidos no banco de dados.

Histórico de Execução

A aplicação exibirá o histórico de execução de cada arquivo, informando o tempo da execução e se houve ou não falhas durante a execução do arquivo. Se ocorrem falhas durante a execução da atualização, elas serão exibidas em tela conforme imagem abaixo.

Em caso de dúvidas, reporte as falhas ao suporte TOTVS Varejo Supermercados. É possível exportar as falhas para um arquivo único compactado para envio ao suporte por meio do botão ‘Exportar’.

Algumas falhas são obsoletas e, na maioria das vezes, são irrelevantes, pois indicam que os objetos já foram criados (como por exemplo, índices, colunas ou tabelas) e ou não demandam nenhum tipo de análise do suporte.

Por padrão, as falhas obsoletas não são exibidas, para consultá-las clique na opção ‘Mostrar falhas obsoletas’, conforme imagem abaixo.

Histórico de Atualizações

O histórico ficará gravado na base de dados, para consultá-lo acesse o botão ‘Histórico de Atualização’, escolha a atualização e clique na lupa ou dê duplo clique na linha para visualizar o log de erros.

Serão exibidos os logs de erros gerados durante a execução da atualização selecionada.

Para consultar os detalhes do erro, selecione a linha e dê duplo clique na coluna ‘Comando’ ou na coluna ‘Falha’, conforme exemplo abaixo.

É possível salvar os logs com as falhas em arquivo texto, caso seja necessário encaminhá-las para o suporte. Para exportar as falhas, clique no botão ‘Salvar Relatório’.

Selecione a pasta em seu computador onde serão armazenados os arquivos.
Se deseja exportar apenas os erros críticos, na mensagem ‘Exportar somente erros críticos?’, clique em ‘Sim’.

Execução em modo silencioso

A aplicação pode ser inicializada com passagem de parâmetros conforme descrito abaixo:

  • autoexec
    Usado para que a execução se inicie sem interação humana, ou seja, execução silenciosa.
  • salvalog
    Usado para informar a geração de log da aplicação. Serão criados arquivos na pasta Logs, no mesmo diretório da aplicação, tendo como padrão o nome como “log_ddMMyyyyHHmmss.json”.
  • -c <servidor> <usuário> <senha>
    Para informar a conexão com a base de dados, deve-se utilizar o marcador -c seguido do servidor, usuário e senha, nessa ordem e sempre com essas informações. A aplicação irá buscar no TNSNAMES os dados de conexão, então é preciso que o arquivo esteja configurado corretamente.
  • tipoAmbiente=<ambiente>
    Usado para informar se o ambiente é de Produção ou Homologação. Se o parâmetro não for informado, será considerado ambiente de produção. Valores possíveis: P (produção) ou H (homologação).

Os parâmetros podem ser informados em qualquer ordem, exceto o parâmetro de conexão que, ao informar o marcador, deve seguir a ordem estabelecida na documentação. Os dados de conexão são obrigatórios.

Ao executar em modo silencioso, um ícone de sistema irá exibir as informações atuais da execução, conforme imagem abaixo.

Os arquivos de log gerados, seguem o modelo de exemplo abaixo.

log_20210208114056.json
{
  "nomeExecutavel": "AtualizaDW.exe",
  "id": 1,
  "sistemaOperacional": {
    "nome": "Windows 10 Pro",
    "versao": "10.0.19042.0",
    "build": "19042",
    "release": "2009"
  },   "nivel": "Alerta", 
"dominio": "SP01",
"nomeMaquina": "RBPN019403893",
"nomeUsuario": "vitor.gilioli",
"dataHora": "08/02/2021 11:40:56",
"mensagem": "Atualização finalizada com algumas falhas.\nTempo decorrido de atualização: 00:02:19",
"detalhes": "",
"stack": "",
"palavrasChave": [ ".net", "inicialização", "framework" ]
}
log_20210208150746.json
{
  "nomeExecutavel": "AtualizaDW.exe",
  "id": 1,
  "sistemaOperacional": {
    "nome": "Windows 10 Pro",
    "versao": "10.0.19042.0",
    "build": "19042",
    "release": "2009"
  },
  "nivel": "Erro",
  "dominio": "SP01",
  "nomeMaquina": "RBPN019403893",
  "nomeUsuario": "vitor.gilioli",
  "dataHora": "08/02/2021 15:07:46",
  "mensagem": "Não é permitido abrir mais de uma instância pois o módulo já esta sendo executado.\n\nTerminal: RBPN019403893\nUsuário O.S: vitor.gilioli",
  "stack": "",
  "palavrasChave": [ "consinco", "atualiza", "versão", "aplicação", "DW" ]
}
log_20210208151109.json
{
  "nomeExecutavel": "AtualizaDW.exe",
  "id": 0,
  "sistemaOperacional": {
    "nome": "Windows 10 Pro",
    "versao": "10.0.19042.0",
    "build": "19042",
    "release": "2009"
  },
  "nivel": "Sucesso",
  "dominio": "SP01",
  "nomeMaquina": "RBPN019403893",
  "nomeUsuario": "vitor.gilioli",
  "dataHora": "08/02/2021 15:11:09",
  "mensagem": "Atualização finalizada.\nTempo decorrido de atualização: 00:02:19",
  "stack": "",
  "palavrasChave": [ "consinco", "atualiza", "sucesso", "atualização", "DW" ]
}

Exemplo de chamada

"AtualizaDW.exe" autoexec salvalog -c orapd devupdate devupdate tipoAmbiente=P

Código de Saída

A aplicação irá lançar um código de saída (exitCode) com o valor 0, caso tenha finalizado a execução com sucesso ou o valor 1 caso tenha apresentado algum erro durante a execução. Para ambas as situações, se for passado o parâmetro salvalog, a aplicação irá gerar sempre o arquivo de log referente ao momento de encerramento da aplicação, seja por sucesso ou erro.