Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Objetivo

Atualizar a versão do sistema possibilitando o acompanhamento dos status da atualização em tempo real. Atualmente a

A aplicação irá atualizar apenas a base de dados, arquivos executáveis e bibliotecas do sistema.

...

Caminho

TOTVS Supermercados Atualiza - Linha RMS – UPD00003.

...

Pré-Requisitos e Restrições

  • A ferramenta está disponível à partir da SP 36 da versão XXXXrelease 12.1.27.
  • A versão mínima para usar a ferramenta é 12.27.34.
  • A ferramenta deve ser executada em um sistema operacional homologado.
  • É necessário ter o .Net Framework v4.78 ou superior instalado.
  • É necessário ter o Oracle Client com o arquivo tnsnames.ora configurado.
  • É necessário que o owner tenha privilégio ao dicionário de dados do Oracle (“select any dictionary” ou "select_catalog_role").
  • É desejável que o owner tenha privilégio para encerramento de sessões (“alter system kill”).
    • Como alternativa, caso não seja adicionado o privilégio, pode ser criada uma procedure para que alguns recursos do produto consigam realizar o encerramento de sessões. Ver documentação sobre Servidor de Banco de Dados para exemplo da procedure e mais informações.
  • É necessário que o usuário tenha permissão para ler/escrever no diretório ao qual os arquivos serão substituídos.

...

Passo a passo

No primeiro acesso, será exibida uma mensagem informando que a conexão não está configurada. Clicando em sim, será possível configurar a conexão da aplicação, conforme as imagens abaixo.

Image RemovedImage Added

Após configurada a conexão e validada, será exibida a tela de login.

Para editar a conexão com a base de dados na tela de login, basta clicar no ícone marcado na imagem abaixo (ou clique duplo no campo Conexão) e alterar os dados de conexão.

Image Added

Image Added

Para utilizar o TOTVS Atualiza (Linha RMS) faça o login informando o usuário, senha e o contexto de acesso.

Image RemovedImage Added

Ao realizar o login, caso seja o primeiro acesso, será necessário informar o IP da máquina na qual o servidor RMS está instalado, conforme imagem abaixo. Na tela de login também há o botão para acessar a configuração de servidor.

...

Caso haja mais de um pacote disponível no mesmo diretório da aplicação, será exibido um formulário para selecionar qual pacote deseja utilizar.

...

Validade do Pacote

Os pacotes de atualização possuem uma data de expiração para garantir que as atualizações ocorram sempre para a release mais recente disponível na ocasião, assegurando que as últimas correções e adequações de produto serão aplicadas. Caso a ferramenta seja iniciada por um pacote de atualização que foi disponibilizado a mais de 15 dias, uma mensagem de alerta será exibida, porém, será possível continuar a atualização. Ao se deparar com esta mensagem, recomenda-se verificar na ocasião se há um pacote de atualização (release) mais recente.

Image Added

Se o pacote de atualização tiver sido liberado a mais de 30 dias, a ferramenta impedirá que a atualização seja iniciada e somente permitirá continuar se for informado uma chave de acesso emergencial fornecida pelo suporte. Neste cenário, recomenda-se verificar se há na ocasião um pacote de atualização mais recente disponível, e se mesmo assim houver a necessidade de atualizar para o pacote obsoleto, a chave de acesso deverá ser solicitada a equipe de suporte que avaliará se há viabilidade para que a mesma seja fornecida.

Image Added

Image Added

...

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.

...

Se não houver nenhuma informação referente a atualização da base de dados, a tela de avisos não será exibida. Caso queira visualizar novamente os avisos, basta clicar no botão ‘Avisos da Versão’.

...

Objetos Inválidos

Se houver objetos inválidos na base, ao fazer o login, será exibido uma mensagem de aviso, conforme imagem abaixo. É importante que não haja objetos inválidos, mas isso não impede que a atualização seja executada. Verifique se são objetos oficiais, e, se necessário, reporte-os ao suporte.

Image RemovedImage Added

Ao clicar em ‘Ok’ serão exibidos os objetos que estão inválidos e as triggers desabilitadas, onde será possível ‘Recompilar’ os objetos ou, ‘Atualizar’ a lista de verificação e ´Exportar´ as informações para um arquivo texto. Ao selecionar um registro, na tela ‘Erro’ será exibido seu detalhamento, conforme imagem abaixo.

Image RemovedImage Added

Se não houver objetos inválidos, a tela não será exibida ao logar. Caso queira 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’.

Image RemovedImage Added

...

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.

Image RemovedImage Added

Nota: A execução de jobs e schedules será suspensa na instância do banco de dados durante a atualização, desde que dados os grants necessários ao usuário do banco.

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.

Image RemovedImage Added

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

...

Ao iniciar a atualização, é de extrema importância que os usuários não acessem o sistema enquanto o processo não estiver totalmente finalizado.

Image RemovedImage Added

...

Executando Atualização

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

...

É 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.

Image RemovedImage Added

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.

Image RemovedImage Added

Para verificar qual sessão está bloqueando a atualização e encerrá-la, acesse a tela ‘Usuários e Processos logados’ .ou coloque o ponteiro do mouse no texto 'Sessão bloqueado!' em vermelho para que seja exibida a informação da sessão, conforme imagem abaixo:

Image Added

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

Image RemovedImage Added

...

Histórico de Execução

O 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.

É possível ordenar o histórico para que as execuções que estiverem com status de falhas sejam exibidas nas primeiras linhas. Basta dar um duplo clique no cabeçalho da coluna ´Status´.

Image AddedImage Removed

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

...

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

Image RemovedImage Added

...

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’ e clique na lupa ou dê duplo clique na linha para visualizar o log de erros.

Image RemovedImage Added

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

Image RemovedImage Added

Image RemovedImage Added

É 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’.

Image RemovedImage Added

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’.

...

Configurações

As configurações podem ser acessadas através do botão ´Configurações´.

No formulário é possível alterar as configurações de Table Space para execução dos scripts de banco, os caminhos onde estão os arquivos no servidor do RMS e o endereço de IP do servidor. Também é possível alterar a conexão através do botão ´Configurar Conexão´.

Há a opção para gerar o backup dos arquivos que serão alterados pelo pacote, marcando a opção ´Gerar backup dos arquivos´.

Image RemovedImage Added

...

Informações do Pacote

As informações sobre o pacote podem ser acessadas através do botão ´Informações do Pacote´.

É possível verificar quais arquivos de extensão '.exe' e '.dll' estão presentes no pacote selecionado e comparar as versões deles com os arquivos apontados no diretório do servidor, conforme exemplo abaixo. Também é possível visualizar os objetos que sofrerão alteração no pacote.

Há a possibilidade de exportar essas informações através do botão ´Salvar Relatório´.

Image Added

...

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).
  • pacote=<caminho>
    Usado para informar o caminho do pacote que será utilizado na atualização do ambiente contendo o arquivo compactado no formato zip ou o diretório com os arquivos descompactados.
  • desconectausuarios=<valor>
    Usado para encerrar as sessões ativas no ambiente informado. Valores possíveis: S (sim) ou N (não). ATENÇÃO: Ao informar SIM, todas as sessões serão encerradas sem aviso e portanto deve ser utilizado com cautela.

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.

Image Added

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

Bloco de código
firstline1
titlelog_20210208114056.json
linenumberstrue
collapsetrue
{
  "nomeExecutavel": "Atualiza.exe",
  "id": 1,
  "sistemaOperacional": {
    "nome": "Windows 10 Pro",
    "versao": "10.0.19042.0",
    "build": "19042",
    "release": "2009"
  },  
"nivel": "Informacao",  
"dominio": "SP01",
"nomeMaquina": "RBPN019403893",
"nomeUsuario": "vitor.gilioli",
"dataHora": "21/10/2021 11:40:56",
"mensagem": "A versão mínima do framework .NET para executar a aplicação não está instalada.\nNecessário .NET 4.8\nInstalado .NET 4.7",
 "stack": "",
 "palavrasChave": [ ".net", "inicialização", "framework" ]
}
Bloco de código
firstline1
titlelog_20210208150746.json
linenumberstrue
collapsetrue
{
  "nomeExecutavel": "Atualiza.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": "21/10/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": [ "rms", "atualiza", "versão", "aplicação" ]
}
Bloco de código
firstline1
titlelog_20210208151109.json
linenumberstrue
collapsetrue
{
  "nomeExecutavel": "Atualiza.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": "21/10/2021 15:11:09",
  "mensagem": "Atualização finalizada.\nTempo decorrido de atualização: 00:02:19",
  "stack": "",
  "palavrasChave": [ "rms", "atualiza", "sucesso", "atualização" ]
}

Exemplo de chamada

"Atualiza.exe" autoexec salvalog -c ora19 rms rms tipoAmbiente=P pacote=C:\RMS\Pacotes\SP_R32_8.zip

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.Image Removed