terça-feira, 26 de agosto de 2025

Restaurando uma Tabela Específica no IBM Informix com o Archecker

 Em ambientes corporativos, a perda ou corrupção de dados em uma tabela específica pode gerar grande impacto operacional. Uma das vantagens do IBM Informix é a possibilidade de restaurar apenas uma tabela, sem necessidade de restaurar todo o banco de dados. Para isso, utilizamos a ferramenta archecker.

Neste artigo, vou demonstrar passo a passo como restaurar uma única tabela com segurança, incluindo boas práticas e exemplos de configuração.

1. Realizar testes antes da produção

Antes de qualquer operação em produção, recomenda-se fortemente validar o procedimento em um ambiente de homologação ou testes. Isso reduz riscos e garante que o processo está devidamente configurado.


2. Configurar a variável de ambiente AC_CONFIG

O archecker utiliza um arquivo de configuração próprio. Para apontar para esse arquivo, exporte a variável:

export AC_CONFIG=/usr/informix/etc/ac_config.tst

3. Ajustar a variável INFORMIXSERVER

Verifique se o servidor Informix está configurado para Shared Memory. Caso esteja, altere para um valor em socket, garantindo que o archecker consiga se conectar corretamente:

export INFORMIXSERVER=hmlsoc

4. Configuração do arquivo ac_config.tst

O arquivo ac_config.tst define parâmetros de funcionamento do archecker, como diretórios temporários, dispositivos de fita e logs.

Um exemplo de configuração seria:

AC_MSGPATH /tmp/ac_msg.log # Log de mensagens do archecker AC_STORAGE /ontapeDir/archiveDir # Diretório usado para storage temporário AC_VERBOSE 1 # 1 para mensagens detalhadas AC_SCHEMA /usr/informix/etc/archecker.script AC_TAPEDEV /ontapeDir/nightlyDir/Sun AC_TAPEBLOCK 512 AC_LTAPEDEV /ontapeDir/logicalLogs AC_LTAPEBLOCK 512

5. Criar o script archecker.script

Esse script define como a tabela será recriada e restaurada.
Abaixo, um exemplo em que a tabela ped_item_edi será restaurada para tb_restore:

database logix; create table ped_item_edi ( cod_empresa char(2) not null, num_pedido decimal(6,0) not null, prz_entrega date, num_contrato varchar(100), num_sequencia integer, cod_item varchar(15), qtd_solic decimal(10,3), cod_fabrica char(7), cod_doca char(6), hora char(5), tipo_prg_honda char(2), slip_number_honda char(14), seppen_honda char(10), lote_prod_honda char(12), cpi_honda char(3), observacao_honda char(20), hora_entrega_honda char(4), handling char(25), estoquista char(36), planta char(5), unidade_medida char(2), embalagem char(10), tipo_prg char(1), tipo_opr char(1), qtd_pcp decimal(10,3), qtd_expedicao decimal(10,3) ) extent size 128 next size 64 lock mode row; create table tb_restore ( cod_empresa char(2) not null, num_pedido decimal(6,0) not null, prz_entrega date, num_contrato varchar(100), num_sequencia integer, cod_item varchar(15), qtd_solic decimal(10,3), cod_fabrica char(7), cod_doca char(6), hora char(5), tipo_prg_honda char(2), slip_number_honda char(14), seppen_honda char(10), lote_prod_honda char(12), cpi_honda char(3), observacao_honda char(20), hora_entrega_honda char(4), handling char(25), estoquista char(36), planta char(5), unidade_medida char(2), embalagem char(10), tipo_prg char(1), tipo_opr char(1), qtd_pcp decimal(10,3), qtd_expedicao decimal(10,3) ) extent size 128 next size 64 lock mode row; insert into tb_restore select * from ped_item_edi; restore to current with no log;

6. Executar o Archecker

Com as variáveis e arquivos configurados, execute o comando:

archecker -tXvs

Esse comando inicia o processo de verificação e restauração da tabela conforme definido no script.


Boas práticas recomendadas

  • Sempre valide o procedimento em ambiente de teste antes de aplicar em produção.

  • Mantenha cópias de segurança atualizadas.

  • Documente as alterações feitas no ac_config e no archecker.script.

  • Após a restauração, valide a integridade dos dados comparando com outras fontes ou relatórios do sistema.


Conclusão

archecker é uma ferramenta poderosa do IBM Informix para situações críticas, permitindo restaurar tabelas de forma seletiva sem precisar recuperar todo o banco de dados. Esse procedimento reduz o tempo de indisponibilidade e garante maior agilidade na administração do ambiente.

Na AJM Solutions, aplicamos essas e outras práticas de alta performance para garantir que os clientes tenham seus ambientes seguros, estáveis e com máximo desempenho.

Nenhum comentário:

Postar um comentário