Replicação
Adicionando novo usuário
A replicação utiliza um usuário separado para funcionar corretamente. O usuário pré-definido é o replicante e a senha é etnacilper.
Para inserir este usuário no firebird, basta utilizar o comando gsec, disponível na pasta bin
do firebird.
gsec -user sysdba -password masterkey GSEC> add replicante -pw etnacilper
Definir permissões para o novo usuário
GRANT DELETE, INSERT, UPDATE, SELECT ON TReplicacao TO replicante; GRANT DELETE, INSERT, UPDATE, SELECT ON TReplicacaoPares TO replicante; COMMIT;
Configuração do arquivo .ini
Para o perfeito funcionamento da replicação de dados, é necessário definir alguns parâmetros dentro do arquivo de configurações do sistema.
A seção [Replication]
deverá ser adicionada ao arquivo conforme o trecho abaixo:
[Replication] server_id=1 server_name=ServidorX peer_count=4 listen_port=3556
- server_id - é o número de identificação do servidor. Cada servidor deverá possuir um número único.
- server_name - nome para identificação do host no aplicativo de monitoramento da replicação.
- peer_count - Muito importante! número de servidores envolvidos na replicação.
- listen_port - porta de comunicação. Normalmente 3556.
Importante!
Sempre que um novo servidor for adicionado ao cluster de replicação, o parâmetro peer_count deverá ser alterado para refletir o número de servidores.
Configuração dos pares (na Matriz)
O próximo passo após definir os parâmetros dos arquivos de configuração, é definir os pares. Esta definição atualmente é feita diretamente no banco de dados.
Na Matriz, dentro da tabela TReplicacaoPares, deve-se inserir os IDs e IPs de todos os pares dependentes da Matriz.
Após a inserção dos pares na Matriz, poderá ser iniciado o processo do Monitor de Replicação.
Configuração dos pares (nas Filiais)
Nas filiais, o procedimento é semelhante, porém basta inserir o ID e IP da Matriz onde a filial irá se conectar. Feito isso o processo do Monitor poderá ser iniciado.
Smeagol (monitor de replicação)
Colocar o executável do Smeagol na pasta Windows do sistema.