Replicação entre servidores
Como desvincular um SLAVE de um MASTER?
RTREPLICATOR.FAQ-74690
Caso seja necessário desligar um SLAVE de uma rede replicada, como no caso de uma filial que passa a ser uma empresa independente, será necessário proceder da seguinte forma:
- Parar o replicador
- Excluir a configuração do replicador
- Excluir o registro da entidade monitores clientes:
delete from monitores_clientes;
- Alterar as sequencias, alterando todos os "Max value" para 0 e "Next value" para um valor igual ou maior que o "Next value" do master. Ver script abaixo.
- Desabilitar os usuários que não utilizarão mais este SLAVE
- Tirar o acesso para os outros estabelecimentos dos usuários do SLAVE
Para programar as sequences, execute o script abaixo no MASTER:
select 'update sequences'
|| ' set next_value = greatest(next_value, ' || next_value || ')'
|| ', max_value = 0'
|| ', next_range_min_value = 0'
|| ', next_range_max_value = 0'
|| ' where sequence = ''' || sequence || ''';'
from sequences
where range_size > 0;
O script acima irá gerar um script tipo:
update sequences set next_value = greatest(next_value, 87201149), max_value = 0, next_range_min_value = 0, next_range_max_value = 0 where sequence = 'PK_SEQUENCE';
update sequences set next_value = greatest(next_value, 75993), max_value = 0, next_range_min_value = 0, next_range_max_value = 0 where sequence = 'SEQ_ATIVIDADES';
Copie o script gerado execute ele no SLAVE.