Files
projeto-importado/docs/restauracao_homologacao.md
2025-11-28 00:29:42 -03:00

312 lines
12 KiB
Markdown

# 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 [email protected]:/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! <i> caso necessário deve ser alterado os endereços IP's conforme o ambiente que esta sendo executado! </i>
```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)