Este procedimento orienta a migração de uma instalação com Firebird 3 para Firebird 5 em ambiente Windows. A ideia é substituir a instalação principal pelo Firebird 5 na porta padrão 3050 e manter o Firebird 3 apenas temporariamente, instalado manualmente em outra porta, como 3055, para que o migrador consiga ler a base antiga e gerar a base migrada.
Faça este procedimento com calma, preferencialmente fora do horário de uso do ERP. Se houver dúvidas em qualquer etapa, pare antes de apagar arquivos ou liberar o sistema para os usuários.
Resumo do que será feito
Fechar o ERP e garantir que ninguém esteja usando o banco.
Fazer uma cópia de segurança do banco atual antes de qualquer alteração.
Remover a instalação atual do Firebird 3.
Instalar o Firebird 5 na porta padrão 3050.
Baixar o ZIP do Firebird 3 e instalá-lo manualmente em outra porta, por exemplo 3055.
Editar o
migracao_config.jsone executar o migradorC:\\Producao\\migracao-fb3-para-fb5\\migrar_fb3_para_fb5.exe.Copiar o cliente do Firebird 5 x86 para a pasta do ERP, criando também uma cópia como
gds32.dll.Testar a integridade no ERP.
Remover a instalação manual do Firebird 3 quando tudo estiver validado.
Atenção sobre a versão x86 e x64
Não baixe a versão x64 para este procedimento. Use as versões x86/Win32 indicadas neste artigo.
Em algumas instalações do Firebird 3.x x64, existe a pasta C:\\Program Files\\Firebird\\Firebird_3_0\\WOW64, com bibliotecas 32 bits para aplicações x86. Isso pode dar a impressão de que basta instalar o Firebird 5 x64 e esperar o mesmo comportamento.
Para esta migração, não siga por esse caminho. Até o momento deste artigo, o procedimento validado para o ERP e para o migrador é com Firebird x86/Win32. Assim, o ERP e as ferramentas auxiliares continuam carregando bibliotecas cliente 32 bits, como fbclient.dll, sem depender de uma instalação x64.
Em resumo: aplicação x86 precisa de cliente x86. Mesmo que uma instalação x64 tenha pasta ou componente de compatibilidade, ela não deve ser usada como referência para este procedimento.
Antes de começar
Avise os usuários e feche o ERP em todos os computadores.
Pare rotinas automáticas que possam acessar o banco, como serviços, integrações, backups agendados ou monitores.
Localize o arquivo do banco atual, normalmente um arquivo com extensão
.FDB.Faça uma cópia desse arquivo para uma pasta segura. Exemplo:
C:\\Backup-Migracao-Firebird.Anote a senha do usuário
SYSDBA, se ela for utilizada no ambiente.Confirme se o migrador e o arquivo de configuração existem na pasta
C:\\Producao\\migracao-fb3-para-fb5:migrar_fb3_para_fb5.exeemigracao_config.json.Confirme a pasta onde o ERP está instalado. Neste artigo usaremos
C:\\SRIcomo exemplo.
Não continue sem backup. A migração altera a versão do banco usada pelo ambiente, e o backup é o caminho de retorno caso algo precise ser revisado.
1. Remover a instalação atual do Firebird 3
Abra o Painel de Controle do Windows.
Acesse Programas e Recursos ou Aplicativos instalados, dependendo da versão do Windows.
Localize Firebird 3.
Clique em Desinstalar e conclua o assistente.
Se o Windows solicitar reinicialização, reinicie antes de seguir.
Ao remover o Firebird, tenha cuidado para não apagar a pasta onde está o banco de dados do ERP. A desinstalação deve remover o servidor Firebird, não o arquivo .FDB da empresa.
2. Instalar o Firebird 5 na porta padrão 3050
Baixe o instalador x86 do Firebird 5 pelo link abaixo:
Firebird 5.0.4 x86 para Windows
Clique com o botão direito no instalador e escolha Executar como administrador.
Siga o assistente de instalação.
Mantenha a porta padrão 3050.
Quando houver opção de instalar como serviço do Windows, mantenha como serviço para iniciar junto com o sistema.
Conclua a instalação.
Depois da instalação, abra Serviços no Windows e confirme se o serviço do Firebird 5 está iniciado. Neste momento, o Firebird 5 será a instalação principal da máquina.
3. Baixar e preparar o Firebird 3 manual na porta 3055
Agora será criada uma instalação temporária do Firebird 3. Ela servirá apenas para a migração e deverá usar outra porta, pois a porta 3050 já estará ocupada pelo Firebird 5.
Baixe o ZIP x86/Win32 do Firebird 3 pelo link abaixo:
Crie uma pasta para a instalação manual, por exemplo:
C:\\Firebird\\Firebird_3_3055.Extraia todo o conteúdo do ZIP dentro dessa pasta.
Abra o arquivo
firebird.confno Bloco de Notas executado como administrador.Procure pela linha
#RemoteServicePort = 3050.Altere para
RemoteServicePort = 3055, removendo o caractere#do início.Salve o arquivo.
A linha deve ficar assim:
RemoteServicePort = 30554. Registrar e iniciar o Firebird 3 temporário
Abra o Prompt de Comando como administrador e execute:
cd /d C:\\Firebird\\Firebird_3_3055
install_service.bat Firebird3_3055Esse comando registra uma instância de serviço com nome próprio, evitando misturar a instalação temporária do Firebird 3 com a instalação principal do Firebird 5.
Para confirmar se as portas estão em uso, execute:
netstat -ano | findstr :3050
netstat -ano | findstr :3055O esperado é que exista um processo escutando na porta 3050 para o Firebird 5 e outro na porta 3055 para o Firebird 3 temporário.
5. Configurar e executar o migrador
O migrador não deve ser tratado como uma tela onde o usuário informa os dados manualmente. Antes de executar o binário, configure o arquivo migracao_config.json, que fica na mesma pasta do executável:
C:\Producao\migracao-fb3-para-fb5\migracao_config.jsonAbra o arquivo no Bloco de Notas e ajuste os campos conforme o ambiente. Exemplo considerando Firebird 3 temporário na porta 3055, Firebird 5 na porta 3050 e banco do ERP em C:\SRI\DADOSVR:
{
"fb3": {
"home": "C:\\Firebird\\Firebird_3_3055",
"host": "localhost",
"port": 3055,
"db_path": "C:\\SRI\\DADOSVR\\sridb.fdb"
},
"fb5": {
"home": "C:\\Program Files\\Firebird\\Firebird_5_0",
"host": "localhost",
"port": 3050,
"db_path": "C:\\SRI\\DADOSVR\\sridb_fb5.fdb"
},
"user": "SYSDBA",
"password": "masterkey",
"backup_dir": "C:\\SRI\\DADOSVR\\migracao\\backups",
"output_dir": "C:\\SRI\\DADOSVR\\migracao\\saida",
"log_dir": "C:\\SRI\\DADOSVR\\migracao\\logs"
}Confira principalmente estes campos:
fb3.home: pasta da instalação manual do Firebird 3.fb3.port: porta do Firebird 3 temporário, neste artigo 3055.fb3.db_path: caminho do banco atual, ainda no formato Firebird 3.fb5.home: pasta onde o Firebird 5 x86 foi instalado. Se o seu ambiente usarC:\Program Files (x86)\Firebird\Firebird_5_0, ajuste esse campo.fb5.port: porta do Firebird 5, normalmente 3050.fb5.db_path: caminho do banco migrado que será criado pelo Firebird 5.userepassword: credenciais do usuário do Firebird, normalmenteSYSDBA.
Importante: na primeira migração, prefira usar um nome diferente para o banco de destino, como sridb_fb5.fdb. Assim o banco antigo continua preservado e o migrador cria um novo arquivo para validação.
Depois de salvar o migracao_config.json, abra o Prompt de Comando como administrador e entre na pasta do migrador:
cd /d C:\Producao\migracao-fb3-para-fb5Primeiro rode em modo de teste. Esse comando verifica caminhos, binários e conectividade, sem executar a migração:
migrar_fb3_para_fb5.exe --config migracao_config.json --dry-runSe o teste não apresentar erro, execute a migração:
migrar_fb3_para_fb5.exe --config migracao_config.jsonNão feche o migrador enquanto ele estiver processando. Ao final, confira o relatório gerado em saida\relatorio_*.json e o log em logs\migracao_*.log.
OK: migração concluída e validação sem divergências.OK_COM_AVISOS: migração concluída, mas existe aviso que deve ser revisado antes de liberar o ERP.FALHA_PRECHECKouERRO: corrija o problema indicado no log e execute novamente.
6. Copiar o fbclient.dll para a pasta do ERP
Depois da migração, garanta que o ERP esteja usando o cliente correto do Firebird 5 x86. Para isso, copie o arquivo fbclient.dll da instalação do Firebird 5 para a pasta do ERP.
Neste exemplo, a pasta do ERP é C:\SRI. Se no seu ambiente o ERP estiver em outra pasta, ajuste o caminho antes de executar os comandos.
Primeiro, feche o ERP em todos os computadores. Depois, verifique se já existem arquivos fbclient.dll ou gds32.dll dentro da pasta do ERP. Se existirem, faça uma cópia de segurança ou renomeie os arquivos antigos antes de substituir.
Localize o fbclient.dll da instalação x86 do Firebird 5. Normalmente ele estará em um destes caminhos:
C:\Program Files (x86)\Firebird\Firebird_5_0\fbclient.dllC:\Program Files\Firebird\Firebird_5_0\fbclient.dll
Copie o arquivo para a pasta do ERP e crie também uma cópia com o nome gds32.dll:
copy "C:\Program Files (x86)\Firebird\Firebird_5_0\fbclient.dll" "C:\SRI\fbclient.dll"
copy "C:\SRI\fbclient.dll" "C:\SRI\gds32.dll"Se o Firebird 5 tiver sido instalado em outro caminho, ajuste o primeiro comando para apontar para o local correto do fbclient.dll.
A cópia como gds32.dll é necessária porque algumas aplicações antigas procuram esse nome de biblioteca por compatibilidade. Nesse caso, os dois arquivos ficam na pasta do ERP, mas ambos representam o cliente 32 bits que será carregado pela aplicação.
Importante: use o fbclient.dll do Firebird 5 x86. Não copie o cliente do Firebird 3 temporário e não use DLL x64 na pasta do ERP.
7. Testar o ERP antes de liberar os usuários
Depois de copiar as DLLs do cliente Firebird, abra o ERP e faça testes básicos antes de liberar o uso normal:
Login no sistema.
Abertura de cadastros importantes, como clientes, produtos e empresas.
Consulta de vendas, financeiro, estoque e relatórios.
Rotinas fiscais usadas no dia a dia, como NF-e, NFC-e ou outras integrações.
Geração de novos registros de teste, quando permitido pelo responsável.
Conferência de mensagens de erro no ERP e no log do Firebird.
Se algo não estiver correto, não apague o backup e não remova ainda o Firebird 3 temporário. Primeiro identifique o erro, revise as conexões e valide se a migração terminou com sucesso.
8. Remover o Firebird 3 temporário após a validação
Somente depois de concluir os testes e confirmar que o ERP está íntegro no Firebird 5, a instalação manual do Firebird 3 pode ser desfeita.
Abra o Prompt de Comando como administrador e execute:
cd /d C:\\Firebird\\Firebird_3_3055
instsvc stop -n Firebird3_3055
instsvc remove -n Firebird3_3055Depois disso, se não houver mais necessidade da instalação temporária, a pasta C:\\Firebird\\Firebird_3_3055 pode ser removida.
Mesmo após a migração concluída, mantenha o backup do banco antigo por alguns dias, conforme a política interna da empresa.
Problemas comuns
O Firebird 3 não inicia: confira se o arquivo
firebird.conffoi salvo comRemoteServicePort = 3055e se o Prompt foi aberto como administrador.Erro de porta em uso: outra aplicação pode estar usando a porta escolhida. Troque para outra porta livre, como
3056, e reinicie o serviço do Firebird 3.ERP não abre depois da migração: confirme se ele está apontando para o banco migrado e para a instalação do Firebird 5.
Erro relacionado a
fbclient.dllougds32.dll: confirme se ofbclient.dlldo Firebird 5 x86 foi copiado para a pasta do ERP e se também existe a cópiagds32.dll. Aplicações 32 bits precisam de cliente 32 bits.
Conclusão
Ao final, o ambiente deve ficar com o Firebird 5 como instalação principal na porta 3050. O Firebird 3 na porta 3055 é apenas temporário e deve ser removido depois que o ERP for testado e aprovado.
O ponto mais importante é não pular as etapas de backup e validação. Elas garantem que a migração possa ser conferida com segurança antes de o sistema voltar ao uso normal.
