Migration von FB 2.5 auf FB 3.0

Themen rund um den praktischen Einsatz von Firebird. Fragen zu SQL, Performance, Datenbankstrukturen, etc.

Moderator: thorben.braun

Antworten
Hamburgo
Beiträge: 125
Registriert: Di 28. Mai 2019, 17:28

Hallo zusammen,

laut einigen Google-Berichten soll es ja eigentlich ganz einfach gehen, eine komplette
DB von FB 2.5 auf FB 3.0 zu migrieren.

Export:
D:\DataBase\FireBird\gbak -v -t

Import:
D:\DataBase\FireBird\gbak -c -v

Das klappt bei mir aber nur bedingt. Nur 42 von 99 Tabellen kommen bei FB 3.0 an.

Wo könnte mein Fehler liegen ?

Danke und viele Grüße
Hamburgo
Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

Hallo Hamburgo,

die Hälfte aller Tabellen fehlt? Schau dir mal die Ausgabe des Imports genauer an. Sollte es nicht möglich sein, alle Daten wiederherzustellen, wird ein Fehler ausgegeben.

Bitte außerdem prüfen, ob du die Weiderherstellung wirklich in die korrekte DB machst.

Gruß
Martin
Martin Köditz
it & synergy GmbH
bfuerchau
Beiträge: 485
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

Das deutet bereits auf einen massiven Defekt der Db hin, wenn der backup unvollständig ist. Beim Restore glaube ich nicht an einen Fehler.

Backup:

gback -u user -pas kennwort -g <fromfile> <tofile>

"-v" kannst du angeben, brauchst du aber nur bei Fehlern.
"-t" brauchst du nur bei Systemwechsel (Windows<->Linux).
"-g" spart dir den sweep

Wenn der Backup fehlschlägt hilft nur ein gfix. Wenn der gfix auch fehlschlägt hilft nur ein Programm, dass Tabelle für Tabelle mit Views und Indizes einzeln kopiert, da das Lesen der Tabelle meist immer noch klappt.

http://www.firebirdfaq.org/fbcopy.php
Hamburgo
Beiträge: 125
Registriert: Di 28. Mai 2019, 17:28

Hallo zusammen,

so, jetzt schaut es besser aus, alle Daten wurden übernommen und sind wohl
auch trotz des Wechsels auf UTF8 korrekt angekommen, bis auf ein paar kleine
Ungereimtheiten, die ich jedoch noch nicht verstanden habe.

Lösung: (Umgebung: Windows & Xampp)

Bisher habe ich die gbak-Kommandos per BAT-Datei abgesetzt.

Das funktioniert auch solange ich keine anderen Parameter verwenden will, als
die Standard gbak -v -t oder gbak -c -v.

Wollte ich einen weiteren Parameter hinzufügen, z.B. -e für ohne Datenkompremierung,
hat gbak gemeckert, dass es die DB nicht verbinden kann. Auch schon ein weiteres Leerzeichen hat zu Problemen geführt.

Nachdem ich das endlich nach Stunden begriffen hatte, habe ich das Kommando in das DOS-Fenster kopiert und siehe da, ein nicht komprimiertes BackUp wurde erfolgreich erstellt.

Und auch das ist gleichzeitig der 2. Teil der Lösung des Migrations-Problems.

Der Restore mit der nicht komprimierten BackUp-Datei lieferte auch von allen Tabellen alle Daten korrekt und vollständig aus.

Viele Grüße
Hamburgo
bfuerchau
Beiträge: 485
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

Jo, deswegen mache ich in der Bat immer eine CD in das Verzeichnis der DB.
Dann brauche ich nicht den kompletten Pfad der DB mit angeben.
In der BAT ist die Zeilenlänge immer noch auf 127 Stellen beschränkt.
Allerdings kann man aus der BAT auch leicht eine CMD machen. Dann hast du wieder 32K Zeilenlänge.
Hamburgo
Beiträge: 125
Registriert: Di 28. Mai 2019, 17:28

Ok, verstanden.

Herzlichen Dank.
Groffy
Beiträge: 78
Registriert: Do 12. Apr 2018, 23:14

Hallo,

es gibt ein sehr schönes Tool zum konvertieren der Firebird 2.5.x Datenbank (ODS 11.2) auf Firebird 3.x ODS 12, ohne das man die strikte backup/restore Reihenfolge mit den jeweils installierten Server Versionen beachten muss.

https://github.com/jaclas/Firebird-ODS- ... -converter

Nach genauso etwas hatte ich gesucht. Es werden jeweils nur embedded Verbindungen hergestellt, die dafür notwendigen dlls sind im Paket dabei.


Gruß Ulrich
bfuerchau
Beiträge: 485
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

Das nenne ich mal einen Supertip! Man kann einfach nicht alles selber beobachten. 8-) 8-) 8-)
Antworten