Database migration [from Firebird 1.5 to Firebird 2.5]
[lang_en]
One of the best solution to migrate a firebird db is to backup a database and restore it in a new version. Assuming we are using a linux version of firebird for backup you can use the common gbak (the same in windows).
The only problem that i found is charset encoding that you can specify at the restore command.
In a std editio of firebird you can find gbak in the path “/opt/firebird/bin”.
You can do this in only tree steps :
- Backup db
- Copy the backup file (.fdb) to the new server
- Restore it into new system
Backup:
1 |
$ /opt/firebird/bin/gbak -v -t -user "yourusername" -password "yourpassword" source_db_file dest_backup_name |
Restore:
1 |
gbak -i -create yourserver:"backupfilename" "database_filename" -user SYSDBA -password "yourpassword" -FIX_FSS_METADATA win1252 -v -REP |
if the old database was in Dialect1 and you need to convert it into the new Dialect 3 you can use the gfix command like this:
1 |
gfix -user sysdba -password "yourpassword" yourserver:"backupfilename" -s 3 |
stay tuned
rgds
ivan
[/lang_en]
[lang_it]
Una delle migliori soluzioni per migrare una DB firebird da una versione all’altra è quella di eseguire il backup e il restore del db sulla nuova versione, questo grazie al tool “gbak” fornito con l’installazione stessa del db server.
L’unico problema che ho incontrato è relativo alla codifica dei caratteri, dato che i nuovi sistemi si basano principalmente su codifiche UTF8 o UNICODE, questo è però risolvibile specificando in fase di restore il charset del DB di origine tramite un apposito parametro.
In un installazione standard di firebird il comando gbak è disponibile senza dover specificare il percorso, altrimenti lo si dovrebbe trovare nel path “/opt/firebird/bin”.
Con tre semplici passaggi quindi è possibile migrare il DB da una versione all’altra :
- Backup db
- Copy the backup file (.fdb) to the new server
- Restore it into new system
Backup:
1 |
$ /opt/firebird/bin/gbak -v -t -user "yourusername" -password "yourpassword" source_db_file dest_backup_name |
Restore:
1 |
gbak -i -create yourserver:"backupfilename" "database_filename" -user SYSDBA -password "yourpassword" -FIX_FSS_METADATA win1252 -v -REP |
Se il vecchio DB era stato definito con il Dialetto1 di sql è possibile migrarlo al nuovo dialetto 3 semplicemente con il comando “gfix” anch’esso fornito con l’installazione standard del DB Firebird:
1 |
gfix -user sysdba -password "yourpassword" yourserver:"backupfilename" -s 3 |
stay tuned
rgds
ivan
[/lang_it]