# Movimentação de Arquivos para o Banco de Dados Esse procedimento será executado até que todos os clientes possuam seus arquivos armazenados na nova estrutura de armazenamento de arquivos no banco de dados. Todas as etapas devem ser executadas analisando minunciosamente o seu retorno, pois qualquer anomalia pode representar um problema e deve ser verificada. ## Procedimentos __Deve-se seguir a planilha de checklist "Movimentação Arquivos - Banco de Dados".__ __1) Executar atualização da release__ __2) Etapas executadas através do InicializaBD__ 2.1) Renomear Tablespace -- arquivo -> intermediario -- expurgo -> corrente 2.2) Alterar configuração de uso da Storage (DESATIVAR). 2.2) Iniciar o particionamento das tabelas no schema arquivo (25GB) 2.4) Alterar Estrutura de Armazenamento (Sim) - Esta opção também pode ser ativada via Atende.Net -- Configuração: Gerenciamento do Sistema » Sistema » Configurações » Geral » Administração --- Ativar: Utiliza Nova Estrutura de Armazenamento 2.5) Alterar o Armazenamento de Arquivos Grandes (Conforme Cálculo) - Configuração: Gerenciamento do Sistema » Sistema » Configurações » Geral » Administração -- Tamanho para Particionamento dos Arquivos Grandes: -- Tamanho das Partições dos Arquivos Grandes: __3) Realizar backup via rclone da pasta Temp e Temp-Preview__ Acessar o servidor TASK-09, comentar o cliente atual e adicionar o novo cliente ao qual fará o backup, utilizando as informações do servidor TASK-01. ``` -- Editar o arquivo "/root/.config/rclone/rclone.conf" vim /root/.config/rclone/rclone.conf ``` Ou Executar a configuração conforme abaixo. ``` rclone config N (New Remote) name: Storage: 45 Host: user: root port: SSH Password.....: Digitar "y" Enter Password: Confirm Password: key_pem: Enter key_file: Enter Option key_file_pass: Enter pubkey_file: Enter key_use_agent: Enter use_insecure_cipher: Enter disable_hashcheck: true Enter até o final q para sair ``` Executar o script de backup ``` /root/bkp_files/bkp_files_dc.sh & ``` Acompanhar o backup ``` tail -f /root/bkp_files/log/00593_presidentegetulio-20250224-162245822269890.log ``` Ao concluir o backup, deve-se executar o script novamente, onde não pode retornar novos arquivos no backup da pasta "TEMP", exceto arquivos em pastas com nome em maiúsculo e minúsculo. __7) Ativar agendamentos no Atende.Net__ - Agendamentos de Banco de Dados: 459, 460, 461 » Ativar os horários do agendamento __8) Acompanhar a movimentação dos arquivos__ - Gerenciamento do Sistema » Estrutura » Arquivos » Monitoramento » Movimentação de Arquivos para o Banco - Enquanto estiver processando a movimentação dos arquivos, execute o SQL abaixo a cada 1hr, ao qual irá retornar as tabelas que necessitam executar o vacuum full. Este procedimento deve ser executado nos clientes ao qual possuem os arquivos armazenados no banco de dados no formato antigo (ByteA). ``` set lock_timeout = 5000; select 'vacuum full '||tabela||';' from ( select translate(tabela,'" ','') as tabela from ( select unnest(string_to_array(tabelas, '-t')) as tabela from webbased.fn_lista_tabela_vacuum_full() as tabelas ) orig ) orig where tabela <> '' and tabela like 'arquivo.%' order by pg_total_relation_size(tabela) ``` __9) Reprocessar Arquivos "Não Encontrados"__ - Quanto a movimentação dos arquivos chegar a 100%, analise os casos ao qual ficaram com a "Situação" - "Não encontrado" e/ou "Com Erros". - Existem situações ao qual a busca do arquivo pode ter falhado devido a uma instabilidade momentãnea da storage, onde devemos "Reprocessar" todos os arquivos que ficaram com a Situação "Não Encontrado". Hoje essa atividade deve ser executada a partir da ação "Parecer", em breve teremos uma ação para "Reprocessar todos, sem a necessidade de selecionar os arquivos não encontrados". __10) Vacuum Full__ - Após a movimentação chegar a 100% devemos executar o vacuum full em todas as tabelas do schema arquivo. - Para isto, execute o SQl abaixo ao qual retornará as tabelas ao qual devem ser executado o vacuum full. ``` set lock_timeout = 5000; select 'vacuum full '||schemaname||'.'||tablename||';' from pg_tables where schemaname = 'arquivo' and tablename not like '%shadow' and tablename not like '%content' and tablename not like '%contentpart' order by pg_total_relation_size(schemaname||'.'||tablename) ```