Replicação entre servidores
Como ajustar divergências das replicações?
RTREPLICATOR.FAQ-40981
Divergências de replicação devem ser cuidadosamente analisadas.
Os scripts abaixo corrigem problemas comuns e podem ser executados sem maiores problemas:
Outros casos podem ser corrigidos manualmente seguindo as orientações abaixo:
set info off;
assign *
from dml_logs
where queue = 'E'
order by id + 0
limit 1;
-- desc dml_logs;
if 'x$!{id}' = 'x' then
return 0;
end-if;
display * from dml_logs where id = ${id};
if '${error_message}' like '%uk_sldespr_saldos_mensais_estoque_produtos%' then
echo 'PRECISA REGERAR OS SALDOS DE ESTOQUE';
return 0;
end-if;
if '${origin_table_name}' = 'SEQUENCE_DEFINITIONS' AND '${error_message}' like '%pk_seqdef%already exists%' then
echo 'Removido';
upd dml_logs set queue = 'D' where id = ${id};
return 0;
end-if;
if '${dml}' like 'delete from %' AND '${error_message}' = 'Replicated command found no records!' then
echo 'Removido';
upd dml_logs set queue = 'D' where id = ${id};
return 0;
end-if;
if '${origin_table_name}' in ('OPERACOES_FISCAIS_DOCUMENTOS','OPERACOES_FISCAIS_ITENS_DOCUMENTO') then
echo 'Removido';
upd dml_logs set queue = 'D' where id = ${id};
return 0;
end-if;
echo '<h3>SEM TRATAMENTO PREVISTO!</h3>';
Desenvolvimento de rotinas automatizadas para ajustar a replicação: