Migrando para InterSystems IRIS – Parte 02 (Instância única de Caché/Ensemble para IRIS)
Olá, comunidade, nessa segunda parte do artigo vou dar dicas do processo de migração de uma instância única de InterSystems Caché e ou Ensemble para IRIS.
Como comentado na 1ª parte do artigo, a ideia é passar dicas e não substituir os documentos oficiais que estão disponíveis no WRC, que são eles:
- InterSystems IRIS Adoption Guide;
- How to migrate to InterSystems IRIS.
Vamos então agora colocar a mão na massa!
O sistema operacional que estou usando como exemplo, é uma instalação em um ambiente Ubuntu:
A instalação do Ensemble é a 2018.1.5:
E nesta parte do artigo vamos tratar de uma instalação de única instância sem Mirror, Shadow ou ECP.
Essa segunda parte vale ressaltar duas situações que podemos passar:
1º - Instalação do IRIS na mesma máquina onde se encontra o Caché ou Ensemble;
2º - Instalação do IRIS em uma nova máquina.
Para ambos os cenários: consultar os pré-requisitos mencionados na primeira parte do artigo.
Mas antes de entrar nas sessões aqui uma primeira dica válida para ambas as sessões:
BACKUP / BACKUP / BACKUP / BACKUP / BACKUP / BACKUP / BACKUP / BACKUP / BACKUP
Antes de iniciar quaisquer procedimentos de migração, a outra dica é execute em:
AMBIENTE DE TESTE / AMBIENTE DE TESTE / AMBIENTE DE TESTE / AMBIENTE DE TESTE
Queria me desculpar por repetir a palavra BACKUP e AMBIENTES DE TESTE, em caixa alta, mas essa dica é a mais primordial, quem nunca precisou de um backup em um momento tenso e alguém acabou esquecendo-o, que jogue a primeira pedra.
Uma outra pergunta recorrente de clientes:
Quais Releases Caché e Ensemble são suportadas para migrar o IRIS?
No documento oficial que você pode executar o download através do WRC: “How to Migrate to InterSystems IRIS” existe um tópico chamado: “Supported Migration Paths”, neste tópico existe uma matriz da versão origem e qual versão destino do IRIS são compatíveis, um exemplo:
No mesmo documento “How to Migrate to InterSystems IRIS” existe um tópico chamado: “Performing Pre-Migration Tasks”, a leitura deste tópico eu diria que é mandatório.
Mas vamos lá, como podemos encontrar duas situações vou exemplificar ambas nesta parte do artigo em duas sessões:
1 – Sessão: Instalação do IRIS na mesma máquina onde se encontra o Caché ou Ensemble.
No exemplo estou utilizando o usuário root, pois estou em um ambiente de laboratório. Lembre-se, de usar o sudo para execução dos comandos que necessitem de permissões root.
Ambiente exemplo:
Podem perceber que estou com uma instância que se chama: ENSEMBLE.
Os passos que vou exemplificar aqui valem tanto para Caché ou Ensemble, salvo quando vamos falar de parar a Produção do Ensemble.
- O primeiro passo para ambientes Ensemble é desativar o início automático da Produção:
- O próximo passo é desligar a produção:
Uma dica importante: caso você possua mais de uma produção, lembre-se que você pode para todas as produções via terminal:
- Agora vamos parar o Ensemble ou Caché com segurança:
Lembre-se de passar o nome da instância, no nosso exemplo a instância se chama ENSEMBLE:
- Importante verificar o ccconsole.log se não ocorreu nenhum problema durante o shutdown:
Reparem que as mensagens do Journal estão OK!
- Agora vamos executar o instalador do IRIS.
Lembre-se que você precisa ter permissão de root nesta etapa, ou executar com sudo.
No diretório onde você extraiu o kit de instalação, execute: irisinstall
Vocês podem observar que ao executar o comando de instalação já foi identificado a nossa instância do Ensemble.
Nesta opção vamos adicionar o nome da instância, que no caso do nosso exemplo é ENSEMBLE.
Ao digitar o nome da instância, o instalador questionará sobre a atualização para IRIS:
E olha aqui novamente a mensagem importantíssima: Você já tem BACKUP? Caso já tenha feito o Backup, vamos pressionar YES e seguir com a instalação.
Após pressionar YES, o instalador questionará sobre a licença do IRIS:
Lembre-se de informar o path correto, mais o nome da licença:
Após a licença ser validada, agora é só pressionar YES para iniciar a conversão!
Pronto! Processo de conversão finalizada:
- Você pode verificar aqui uma primeira mudança de comando, ao invés de utilizar o ccontrol list, agora você executará o iris list para verificar a instância.
Vocês podem reparar que o nome da instância, local da instalação e portas são os mesmos, e que a instancia já está no ar. Eu utilizei de propósito o nome da minha instalação de ENSEMBLE para evidenciar que quando executamos a instalação na mesma máquina o instalador mantém todas as características da instalação corrente.
- Acessando a URL que você já estava acostumado a acessar, você pode entrar no portal do IRIS:
- O ambiente ainda não está pronto para ser liberado para os usuários! Agora você precisa revisar o seu código, mas como você seguiu as dicas iniciais você já leu o IRIS Migration Guide, e já tem mapeado o que foi deprecado ou renomeado para que você atualize seu código.
- Agora com o código revisado, vamos recompilar tudo!
Lembre-se que você precisa executar esta etapa em todos namespace.
Primeiro vamos compilar as rotinas. Lembre-se que você pode compilar as rotinas pelo portal ou pelo terminal.
Portal:
Terminal:
Aqui você pode compilar por namespace:
Um exemplo de erros que podem ocorrer durante a compilação das rotinas. Neste caso recebemos um PROTECT, ou seja, são rotinas que estão em READ ONLY, e são rotinas padrões do sistema, neste caso não temos com o que se preocupar.
Também é possível executar a compilação de todas as rotinas em todos namespaces, executando:
do ##Class(%Routine).CompileAllNamespaces()
Agora vamos compilar as classes, como as rotinas podemos compilar pelo portal ou terminal:
Portal:
Terminal:
Para as classes também é possível compilar por namespace ou todos os namepaces:
- Caso sua aplicação possua CSP pages, elas precisam ser recarregadas e compiladas.
Lembre-se que você precisa mudar o namespace e passar o diretório de onde se encontram as CSP Pages.
- Pronto agora é testar sua aplicação:
Nesta primeira sessão executamos a instalação no mesmo servidor, agora vamos para a próxima sessão deste artigo:
2 – Sessão: Instalação do IRIS em uma nova máquina.
A Instalação do IRIS em uma nova máquina irei publicar em um outro artigo, como continuação deste.