# Restauração de base ambiente Homologação Este manual visa orientar de forma passo-a-passo o processo de restauração e uma base de cliente para um ambiente de Homologação contratado (Ambiente paralelo). O primeiro passo para realizar o procedimento de restauração de base do ambiente de Homologação é receber chamado e verificar as informações da abertura como nome do cliente, data de início e expiração do contrato. Durante todo o processo, deve-se alimentar a planilha `"Restaurações CNET-DNET" (aba do mês atual)` que está na pasta CheckList, com as etapas que forem sendo avançadas. ### ✅ Definição e escolha do servidor de Banco de dados A estrutura do ambiente de Homologação consiste em 15 Servidores no total, conforme abaixo: |Nº | Acesso SSH | Servidor | Porta Banco | IP LAN | |---| --------------- | ------------- | ------------- | ------------| | | 172.24.0.5 | Firewall | |192.168.40.33| | | 172.24.0.5:9024 | Apache | | | |01 | 172.24.0.5:9032 | Banco01-AtendeNet | 65432 |192.168.40.60| |02 | 172.24.0.5:9033 | Banco02-Saúde | 65433 |192.168.40.61| |03 | 172.24.0.5:9034 | Banco03-AtendeNet | 65434 |192.168.40.59| |04 | 172.24.0.5:9035 | Banco04-AtendeNet | 65435 |192.168.40.58| |05 | 172.24.0.5:9036 | Banco05-AtendeNet | 65436 |192.168.40.57| |06 | 172.24.0.5:9037 | Banco06-AtendeNet | 65437 |192.168.40.56| |07 | 172.24.0.5:9038 | Banco07-AtendeNet | 65438 |192.168.40.55| |08 | 172.24.0.5:9039 | Banco08-AtendeNet | 65439 |192.168.40.54| |09 | 172.24.0.5:9040 | Banco09-AtendeNet | 65440 |192.168.40.53| |10 | 172.24.0.5:9041 | Banco10-AtendeNet | 65441 |192.168.40.52| |11 | 172.24.0.5:9042 | Banco11-AtendeNet | 65442 |192.168.40.51| |12 | 172.24.0.5:9043 | Banco12-AtendeNet | 65443 |192.168.40.50| |13 | 172.24.0.5:9044 | Banco13-AtendeNet | 65444 |192.168.40.49| |14 | 172.24.0.5:9045 | Banco14-AtendeNet | 65445 |192.168.40.48| |15 | 172.24.0.5:9046 | Banco15-AtendeNet | 65446 |192.168.40.47| |16 | 172.24.0.5:9047 | Banco16-AtendeNet | 65447 |192.168.40.46| A escolha de qual banco de dados será utilizado para receber a restauração da base será pela quantidade de espaço livre em disco. Na planilha (na pasta CheckList) `"Release - Ambientes Paralelos" na aba "Ambiente Homologação - Controle"` é possível verificar qual servidor possui mais espaço livre em disco e após a escolha deve-se preencher na planilha o nome da base, a data de expiração e a volumetria da base. Passos para calcular a volumetria: Volumetria= BASE - EXPURGO - INDICE - CORRENTE - INTERMEDIARIO - PERMANENTE Necessário verificar se também tem espaço na partição de Indices antes de proceder com a restauração. Para Verificar o tamanho da base e demais schemas/tablespaces: `IPMAdminBD > Base do cliente` (Conforme imagem de exemplo abaixo): ![tamanho_base](../img/tamanho_base.PNG) EXEMPLO DE CALCULO 00003_riodosul: Total database = 2545G Expurgo = 329G Corrente = 364G Indice = 184G Intermediario = 470G Permanente = 1005G Dessa forma, teremos: 2545 - 329 - 364 - 184 - 470 - 1005 = 193 Será utilizado em torno de 193G da partição dos dados e 184G da partição de indices. ### ✅ Transferência do arquivo de Backup O próximo passo é copiar o arquivo de Backup da Base referente a data informada no chamado (ou a mais recente se não for informada) para a sua pasta "TEMP" da Storage de SP (ambiente Homologação está em SP). Se o cliente for a de SP, utilizar um Task de SP. Se o cliente for a do PR, utilizar um Task do PR. **Acessar pasta do backup e copiar o arquivo para a Temp:** Se o cliente for de SP, utilizar um Task de SP. Se o cliente for do PR, utilizar um Task do PR. Ex.: Acessar pasta do backup: ``` $ cd /storage/sp01-dd6400_01/STORE/Diario/01249_santoaugusto/ ``` Copiar arquivo para a temp na storage: ``` $ cp 01249_santoaugusto-20221108-220501.zip /storage/sp01-dd6400_01/TEMP/allan.rostirola/ ``` Para copiar o backup da storage do PR para a storage de SP, utilizar o comando de exemplo abaixo: ``` $ scp /storage/dd6400_01/STORE/Diario/00084_saobentodosul/00084_saobentodosul-20230104-200502.zip root@172.24.0.101:/storage/sp01-dd6400_01/TEMP/allan.rostirola ``` **Acessar a sua pasta Temp e descompactar o arquivo:** Se a storage for a de SP, utilizar um Task de SP. Se a storage for a do PR, utilizar um Task do PR. Ex.: Acessar pasta Temp: ``` $ cd /storage/sp01-dd6400_01/TEMP/allan.rostirola/ ``` Descompactar o arquivo: ``` $ unzip 01249_santoaugusto-20221108-220501.zip ``` ### ✅ Configurar script de restauração e ajustes no Servidor Homologação Apache Acessar o Banco do servidor escolhido e editar o script `"restore_16.sh"`nas linhas abaixo: Ex.: ``` BD_Destino="01249_santoaugusto_transf" (nome da base) Folder="01249_santoaugusto-20221108-220501" (pasta do backup extraido) Dir_BKP="$Dir_Storage/TEMP/allan.rostirola" (local onde se encontra a pasta do backup extraido) Procs_Max="2" (se for durante o dia) Procs_Max="4" (se for durante a noite) ``` ### ✅ Alteração config.inc Acessar servidor Homologação Apache e acessar a pasta: ``` $ cd /var/www/html/homologacao.atende.net ``` Verificar se já existe um arquivo `_config.cliente` para o cliente em questão, senão, copiar algum arquivo `_config.cliente` que esteja no mesmo Datacenter. Ex.: ``` $ cp _config.lagoavermelha.inc _config.santoaugusto.inc ``` Alterar o arquivo `_config.cliente` com os dados abaixo: ``` $_CONFIG['ip'] = '192.168.39.11'; (alterar conforme IP LAN do banco em que está a base) $_CONFIG['base'] = '01249_santoaugusto_transf'; (informar a base do cliente) $_CONFIG['manutencao'] = 1; (ativar modo manutenção) $_CONFIG['data_ini_libera_acesso_cpf_teste'] = '22/11/2022'; (data do inicio do contrato) $_CONFIG['data_fim_libera_acesso_cpf_teste'] = '22/12/2022'; (data do fim do contrato) ``` ### ✅ Criar database Abrir PGadmin, Acessar o servidor Homologação escolhido, Criar a base com o nome `cod_cliente_transf` (ex: 01249_santoaugusto_transf): ```ruby CREATE DATABASE "01249_santoaugusto_transf" WITH OWNER = dbaipm ENCODING = 'LATIN1' TABLESPACE = pg_default LC_COLLATE = 'pt_BR' LC_CTYPE = 'pt_BR' CONNECTION LIMIT = -1; CREATE EXTENSION postgis; CREATE EXTENSION postgis_sfcgal; CREATE EXTENSION pg_buffercache; CREATE EXTENSION pg_freespacemap; CREATE EXTENSION pg_stat_statements; CREATE EXTENSION btree_gist; CREATE EXTENSION pg_trgm; CREATE EXTENSION pgcrypto; ``` Executar script e acompanhar os logs de restauração e vacuum. ``` $ ./restore_16.sh & ``` ### ✅ Conferir logs do restore Após finalizar, verificar se apresentou algum erro nos logs: ``` cat *.log | grep ERROR cat *.log | grep Error cat *.log | grep WARN cat *.log | grep Warn ``` ### ✅ Executar o inicializa Abrir o InicializaDB: ``` Ambiente: Homologacao IP: 172.24.0.5 Porta: 65434 (Banco03-AtendeNet) Usuario: postgres Senha: Databases: 01249_santoaugusto_transf - Conferir Flags: - Atividades pós-restore > Executa comandos obrigatórios Atende.Net - Atividades pós-restore > Seta/Revoga permissões - Atividades pós-restore > Cria estrutura monitoração - Atividades pós-restore > Desabilitar agendamentos - Atividades pós-restore > Alterar configurações - Atividades pós-restore > Executa validações necessárias - Atividades pós-restore > Remover contatos mobile - Atividades pós-restore > Limpar registros desnecessários - Atividades pós-restore > Alterar os domínios - Criação de Tabelas > Cria ou recria a webbased.tbsession - Criação de Tabelas > Cria tabelas caso não existam - Criação de Tabelas > Ajustar sequences - Particionamento > Ajustar Particionamento - Armazenamento de Arquivos > Alterar configuração de uso da Storage - Ação: Desativar - Armazenamento de Arquivos > Alterar Estrutura de Armazenamento - Ação: Sim - Armazenamento de Arquivos > Tamanho dos Arquivos / Tamanho das Partições - Deverá ser alterado conforme memória da VM Definitiva (BDP-1600) Menor que 6GB - Selecionar a opção 32/16MB De 6GB até 12GB - Selecionar a opção 64/32MB Se for maior que 12GB - Selecionar a opção 128/64MB - Armazenamento de Arquivos > Iniciar particionamento do schema Arquivo - Manter em 26G - Armazenamento de Arquivos > Habilitar / Desabilitar Agendamentos Marque para habilitar: 460 e 461 ``` _* É possível que apresente o erro abaixo por motivos de que não obteve acesso ao GDT para buscar os dados. Clique em OK e Execute novamente._ ![erro-inicializa](../img/erro-inicializa.PNG) ### ✅ Renomear database No PGAdmin: Alterar o nome da Base (Remover o "_transf"), Caso apresente erro, abrir o server status e matar as conexões abertas referentes a esta base. ### ✅ Modo manutenção Acessar o Homologacao-Apache e alterar o _config.cliente: ``` $_CONFIG['base'] = '01249_santoaugusto'; (remover o _transf) $_CONFIG['manutencao'] = 0; (desativar modo manutenção) - Conferir as datas ``` - Atualizar a base na revisão da Release se necessário; - Atualizar na última revisão dos ambientes Homologação (Conforme planilha "Release - Ambientes Paralelos"); - Adicionar a linha do ambiente na planilha "Release - Ambientes Paralelos"; ### ✅ Setando Microserviços para o Funcionamento dos recursos (WebReport, JobRunner, FileSigner e FileOptimizer) Para que os relatórios, agendamentos, assinaturas e outros recursos do "Tomcat" funcionem no cliente, é necessário ajustar os Ip's nos Microserviços do Atende.Net do ambiente. Sendo assim, basta executar o Script abaixo! caso necessário deve ser alterado os endereços IP's conforme o ambiente que esta sendo executado! ```ruby create table public.tbmicrosservicoinstancia_202310 as( select * from webbased.tbmicrosservicoinstancia ); create table public.tbmicrosservicoinstanciasis_202310 as( select * from webbased.tbmicrosservicoinstanciasis ); create table public.tbservletjava_202310 as( select * from webbased.tbservletjava ); delete from webbased.tbmicrosservicoinstancia where svjaplicacao in (2,3,4,5,15); drop table if exists tbdados; create temp table tbdados as ( select '192.168.40.32' as rede, '192.168.40.37' as cluster ); insert into webbased.tbmicrosservicoinstancia (svjaplicacao, svjnome, msinome, msisequencia, msiendereco, msiativo, msiversao) (select svjaplicacao, svjnome, svjnome, 1, case when svjnome='WebOcrReader' then 'http://'||tbdados.cluster||':8083' -- OCR when svjaplicacao = 2 then 'http://'||tbdados.cluster||':8081' -- WebReport when svjaplicacao = 3 then 'http://'||tbdados.cluster||':8082' -- JobRunner when svjaplicacao = 4 then 'http://'||tbdados.cluster||':8083' -- FileOptimizer when svjaplicacao = 5 then 'http://'||tbdados.cluster||':8084' -- FileSigner when svjaplicacao = 15 then 'http://'||tbdados.cluster||':8086' -- JSM else '' end, 1, null from webbased.tbservletjava left join tbdados on true where svjaplicacao in (2,3,4,5,15) order by 1, 2); insert into webbased.tbmicrosservicoinstanciasis (svjaplicacao, svjnome, msisequencia, siscodigo) (select 2, 'WebReport', 1, siscodigo from webbased.tbsistemacliente where sicativo = 1 group by siscodigo); ``` ### ✅ Configuração Microsserviços Mapas Na rotina `Gerenciamento do Sistema » Microsserviços » Microsserviços`, na aplicação Mapas o deve ser avaliado e configurado conforme ambiente: 🌐 SP01: - MapnikTiles: https://sp01-maps.atende.net/mapnik/ - MapsGeocoding: https://sp01-maps.atende.net/nominatim/ - MapsRouting: https://sp01-maps.atende.net/osrm/ - MapsServices: https://sp01-js.atende.net/nmp-ipmmaps-backend-v2/ - PeliasGeocoding: https://sp01-maps.atende.net/pelias/ - VectorTiles: https://sp01-maps.atende.net/mapnik/ ### ✅ Chamado - Tramitar chamado para o solicitante informando o endereço de acesso do ambiente do cliente: Ex.: https://homologacao.atende.net/?cidade=santoaugusto - [`VOLTAR`](../README.md)