{"id":30280,"date":"2019-10-31T21:34:38","date_gmt":"2019-10-31T18:34:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0\/"},"modified":"2019-10-31T21:34:38","modified_gmt":"2019-10-31T18:34:38","slug":"potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0","title":{"rendered":"Stufenweise Umwandlung von Firebird 2.5-Datenbanken in das ODS12-Format (Firebird 3.0)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Jede Firebird-Version hat ihre eigene Version des Datenbankstrukturformats \u2013 O(n)D(isk)S(tructure). Bis einschlie\u00dflich Version 2.5 konnte die Firebird-Engine mit ODS \u00e4lterer Versionen arbeiten, d.h. Datenbanken \u00e4lterer Versionen konnten mit der neuen Version ge\u00f6ffnet und im Kompatibilit\u00e4tsmodus genutzt werden. Die Firebird-Engine 3.0 hingegen arbeitet ausschlie\u00dflich mit Datenbanken in ihrer eigenen ODS-Version 12.0.<\/p>\n<p>Um auf 3.0 zu migrieren, muss die Datenbank von 2.5 in das neue Format durch Backup\/Wiederherstellung umgewandelt werden. Dabei setzen wir voraus, dass die Datenbank bereits f\u00fcr die Konvertierung vorbereitet wurde \u2013 d.h. die Metadaten und Abfragen wurden auf die Kompatibilit\u00e4t mit Firebird 3.0 gepr\u00fcft.<\/p>\n<p>Wenn man dem Standardansatz folgt, bedeutet dies, dass ein Backup in Version 2.5 erstellt, dann 3.0 installiert und anschlie\u00dfend eine Wiederherstellung durchgef\u00fchrt werden muss. Dieses Verfahren ist akzeptabel, wenn gen\u00fcgend Zeit zur Verf\u00fcgung steht, aber bei der Migration gro\u00dfer Datenbanken oder bei gleichzeitiger Migration mehrerer Dutzend Datenbanken, wenn die Zeit dr\u00e4ngt, kann die stufenweise Umwandlung genutzt werden, die 30-40% schneller ist. Wie genau dies (unter Windows und Linux) durchgef\u00fchrt wird, erfahren Sie im Folgenden.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nDie Grundidee besteht darin, dass wir zur Beschleunigung eine Pipeline nutzen werden:<\/p>\n<pre><code class=\"plaintext\">gbak -b \u2026 database25 stdout | gbak -c \u2026 stdin database30<\/code><\/pre>\n<p>\nGbak von 2.5 erstellt ein Backup im linearen Format und leitet es an stdout weiter, das sofort \u00fcber stdin von gbak von 3.0 aufgegriffen wird, um eine neue Datenbank zu erstellen.<\/p>\n<p>Eine solche Pipeline muss unbedingt \u00fcber den lokalen (Datei-)Zugriff organisiert werden, da der Netzwerkzugang (selbst \u00fcber localhost) den Prozess erheblich verlangsamt.<\/p>\n<p>Im Folgenden betrachten wir die Details f\u00fcr Windows und Linux.<\/p>\n<p><b>Windows<\/b><\/p>\n<p>Im Falle von Windows ist es am einfachsten, eine vollst\u00e4ndig autonome Version von Firebird zu erstellen. Dazu nehmen wir <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/FirebirdSQL\/firebird\/releases\/download\/R2_5_8\/Firebird-2.5.8.27089-0_x64_embed.zip\">das embed-Archiv von Firebird 2.5<\/a><\/noindex>, benennen die Datei fbembedded.dll in fbclient.dll um, f\u00fcgen aus dem Archiv der 'normalen' 2.5 die Tools gbak.exe und (optional) \u2013 isql.exe hinzu. <\/p>\n<p>Firebird 3.0 verwendet <noindex><a rel=\"nofollow\" href=\"https:\/\/firebirdsql.org\/en\/firebird-3-0\/\">eine einheitliche Version<\/a><\/noindex> und erfordert keinerlei Anpassungen.<\/p>\n<p>Die minimalste Variante (die keine Installation der Runtime-Bibliotheken VS2008\/VS2010 auf dem Zielsystem ben\u00f6tigt) enth\u00e4lt folgende Dateien:<\/p>\n<pre><code class=\"plaintext\">25\/gbak.exe\n25\/fbclient.dll\n25\/firebird.conf\n25\/firebird.log\n25\/firebird.msg\n25\/ib_util.dll\n25\/icudt30.dll\n25\/icuin30.dll\n25\/icuuc30.dll\n25\/Microsoft.VC80.CRT.manifest\n25\/msvcp80.dll\n25\/msvcr80.dll\n\n30\/fbclient.dll\n30\/firebird.conf\n30\/firebird.msg\n30\/gbak.exe\n30\/ib_util.dll\n30\/icudt52.dll\n30\/icudt52l.dat\n30\/icuin52.dll\n30\/icuuc52.dll\n30\/msvcp100.dll\n30\/msvcr100.dll\n30\/intl\/fbintl.conf\n30\/intl\/fbintl.dll\n30\/plugins\/engine12.dll<\/code><\/pre>\n<p>\nEin erfahrener Administrator wird feststellen, dass in 2.5 die Dateien intl\/fbintl.dll und intl\/fbintl.conf nicht enthalten sind. Das ist tats\u00e4chlich der Fall, da gbak den Zeichensatz der Verbindung nicht verwendet und keine Daten zwischen den Zeich encodierungen konvertiert. Auf der 'Empfangsseite' von Firebird 3.0 sind diese Dateien jedoch notwendig, wenn Indizes erstellt werden.<\/p>\n<p>In der firebird.conf wird empfohlen, f\u00fcr Firebird 3.0 Folgendes hinzuzuf\u00fcgen:<\/p>\n<pre><code class=\"plaintext\">MaxUnflushedWrites = -1\nMaxUnflushedWriteTime = -1<\/code><\/pre>\n<p>\nZudem ist es w\u00fcnschenswert, unterschiedliche Werte f\u00fcr IpcName f\u00fcr 2.5 und 3.0 festzulegen. <\/p>\n<p>Bei der Auswahl anderer Parameterwerte in firebird.conf gehen wir von folgendem einfachen Grundsatz aus: W\u00e4hrend des Daten\u00fcbertragungsprozesses arbeitet gbak in einem Prozess mit 2.5 und in einem anderen mit 3.0, dann beendet 2.5 die Arbeit und 3.0 beginnt mit dem Aufbau der Indizes.<\/p>\n<p>Um die Phase des Indexaufbaus in 3.0 zu beschleunigen, wird empfohlen, die Gr\u00f6\u00dfe des Parameters TempCacheLimit auf etwa 40% des RAM zu erh\u00f6hen (sofern es sich um einen dedizierten Server handelt).<\/p>\n<p>Wenn der Server beispielsweise 16 GB RAM hat, kann man einstellen: <\/p>\n<pre><code class=\"plaintext\">TempCacheLimit=6G<\/code><\/pre>\n<p>\n<i>Selbstverst\u00e4ndlich kann ein solches Wert nur bei 64-Bit Firebird 3 eingestellt werden, da jeder 32-Bit-Prozess nicht mehr als 2 Gigabyte Speicher allokieren kann.<\/i><\/p>\n<p>Bei 2.5 muss dieser Parameter nicht ge\u00e4ndert werden \u2013 er kann ohnehin nicht mehr als 2 Gigabyte betragen, und bei der Sicherung hat er keinen Einfluss auf die Geschwindigkeit.<\/p>\n<p>Vor der Durchf\u00fchrung der Operation m\u00fcssen Sie sicherstellen, dass der Seiten-Cache im Datenbank-Header auf 0 gesetzt ist (Befehl <code>gstat -h databasename<\/code>, pr\u00fcfen Sie die Zeile Page buffers). <\/p>\n<p>Wenn der Cache eindeutig im DB-Header gesetzt ist, \u00fcberschreibt er die Werte aus firebird.conf (und databases.conf in 3.0), was bei unangemessen hohen Werten zu \u00fcberm\u00e4\u00dfigem Speicherverbrauch und Swapping f\u00fchren kann.<\/p>\n<p>Danach kopieren Sie die Dateien auf das Zielsystem. <\/p>\n<p>Die Konvertierung erfolgt nach dem Stoppen des 'System'-Dienstes Firebird 2.5 \u00fcber die Eingabeaufforderung mit erhobenen Rechten als lokaler Administrator (Beispiel):<\/p>\n<pre><code class=\"plaintext\">set ISC_USER=Besitzer\n\"25\/gbak\" -z -b -g -v -st t -y 25.log database25 stdout|^\n\"30\/gbak\" -z -c -v -st t -y 30.log stdin database30<\/code><\/pre>\n<p>\nIn diesem Beispiel wird der \"schr\u00e4ge Slash\" in Anf\u00fchrungszeichen verwendet (erlaubter 'Unix-Stil'), und das 'Caret' (Symbol '^') maskiert das Zeilenumbruchzeichen, was praktisch ist, wenn Sie lange Befehle eingeben. Die Option -st(atus) wurde in Firebird 2.5.8 eingef\u00fchrt und erm\u00f6glicht es, die Protokolldaten zur Laufzeit des gbak-Prozesses aufzuzeichnen (weitere Einzelheiten finden Sie in der Dokumentation).<\/p>\n<p><b>Linux<\/b><\/p>\n<p>Unter Linux h\u00e4ngt Firebird 3 von der Bibliothek tommath ab. In CentOS (RHEL) finden Sie diese Bibliothek im EPEL-Repository; in Ubuntu (Debian) ist sie im System enthalten.<\/p>\n<p>F\u00fcr CentOS muss zun\u00e4chst das EPEL-Repository aktiviert werden, bevor Sie fortfahren k\u00f6nnen. <\/p>\n<pre><code class=\"plaintext\">yum install libtommath<\/code><\/pre>\n<p>\nBei Ubuntu sind keine zus\u00e4tzlichen Repositories erforderlich, jedoch werden in Ubuntu 16 und Ubuntu 18 unterschiedliche Paketversionen installiert \u2013 libtommath0 und libtommath1, jeweils.<\/p>\n<p>Firebird 3.0 sucht nach tommath.so.0 und f\u00fcr Ubuntu 18 ist es zus\u00e4tzlich erforderlich, einen Link (symlink) von tommath.so.0 auf tommath.so.1 zu erstellen. Daf\u00fcr muss zun\u00e4chst tommath.so.1 gefunden werden. <\/p>\n<p>Der gesuchte Pfad in Ubuntu ist <code>\/usr\/lib\/x86_64-linux-gnu\/<\/code>, in anderen Debian-basierten Distributionen kann es jedoch anders sein.<\/p>\n<p>Das zweite Problem besteht darin, dass bis einschlie\u00dflich Firebird 3.0.1 kein einfacher Weg vorhanden war, zwei verschiedene Serverversionen zu installieren. Die Option \u201eaus den Quellen mit dem gew\u00fcnschten Pr\u00e4fix kompilieren\u201c betrachten wir aufgrund des relativ hohen Aufwands nicht.<\/p>\n<p>F\u00fcr Firebird 3.0.2 und h\u00f6her wurde <noindex><a rel=\"nofollow\" href=\"http:\/\/tracker.firebirdsql.org\/browse\/CORE-5204\">eine Erstellung mit \u2013enable-binreloc realisiert<\/a><\/noindex> und eine separate Option im Installer (-path Pfad).<\/p>\n<p>Vorausgesetzt, die tommath-Bibliothek und, falls erforderlich, der symlink f\u00fcr tommath.so.0 sind im System installiert, k\u00f6nnen Sie das aktuelle (zum Zeitpunkt der Erstellung dieses Artikels) Firebird 3.0.4-Paket beispielsweise in \/opt\/fb3 installieren:<\/p>\n<pre><code class=\"plaintext\">.\/install.sh -path \/opt\/fb3<\/code><\/pre>\n<p>\nDanach k\u00f6nnen Sie den Systemdienst Firebird stoppen und die laufende Konvertierung starten. <\/p>\n<p><i>Beim Stoppen von Firebird ist zu beachten, dass die Firebird 2.5 Prozesse im Classic-Modus in der Regel von xinetd gestartet werden \u2013 daher muss entweder der Firebird-Dienst f\u00fcr xinetd deaktiviert oder xinetd vollst\u00e4ndig gestoppt werden.<\/i><\/p>\n<p>In der firebird.conf f\u00fcr 3.0 auf Linux m\u00fcssen keine MaxUnflushed-Parameter gesetzt werden (diese funktionieren nur unter Windows) und die Einstellungen f\u00fcr Firebird 2.5 sollten nicht ge\u00e4ndert werden. <\/p>\n<p>Unter Linux ist der lokale (Dateizugriff) von Firebird 2.5 nicht \u00e4quivalent zur Embedded-Variante unter Windows \u2013 der Server 2.5 l\u00e4uft im Prozess gbak (ohne Netzwerkkomponente), aber die Zugriffsrechte werden anhand der Benutzerdatenbank \u00fcberpr\u00fcft, was bedeutet, dass nicht nur ein Benutzername, sondern auch ein Passwort erforderlich ist: <\/p>\n<pre><code class=\"plaintext\">export ISC_USER=username ISC_PASSWORD=password\n\/opt\/firebird\/bin\/gbak -b \u2026 database25 stdout\n|\/opt\/fb3\/bin\/gbak -c \u2026 stdin database30<\/code><\/pre>\n<p>\nNach der erfolgreichen Konvertierung muss zuerst der \"zus\u00e4tzliche\" Firebird 3.0 entfernt werden, dann der \"haupts\u00e4chliche\" Firebird 2.5, und erst danach sollte eine saubere Installation von Firebird 2.5 erfolgen \u2013 am besten aus dem standardm\u00e4\u00dfigen tar.gz-Installer und nicht \u00fcber die Repositories, da die Versionen in den Repositories veraltet sein k\u00f6nnten.<\/p>\n<p>Au\u00dferdem muss nach der Datenbankwiederherstellung unter Linux und der Neuinstallation \u00fcberpr\u00fcft werden, dass die neue Datenbank dem Benutzer firebird geh\u00f6rt.<\/p>\n<p>Falls dies nicht der Fall ist, muss dies korrigiert werden.<\/p>\n<pre><code class=\"plaintext\">chown firebird.firebird database<\/code><\/pre>\n<p>\n<b>Zusammenfassung<\/b><\/p>\n<p>Neben der Einsparung von Zeit und Speicherplatz hat die fortlaufende Konvertierung einen weiteren wichtigen Vorteil \u2013 die Umwandlung der Datenbank erfolgt ohne die L\u00f6schung der vorhandenen Firebird 2.5-Installation, was die R\u00fcckkehr bei einer misslungenen Konvertierung erheblich vereinfacht (h\u00e4ufig aufgrund von unzureichendem Speicherplatz oder unerwarteten Neustarts w\u00e4hrend des Migrationsprozesses).<\/p>\n<p>Die Zeitersparnis ist darauf zur\u00fcckzuf\u00fchren, dass die \"klassische\" Konvertierung \"Backup-Zeit\" plus \"Wiederherstellungszeit\" beinhaltet. Die Wiederherstellung besteht aus zwei Teilen: dem Lesen der Daten aus der Backup-Datei und dem Erstellen des Index.<\/p>\n<p>Bei der fortlaufenden Konvertierung ergibt sich die Gesamtzeit als \"Backup-Zeit plus f\u00fcnf bis zehn Prozent\" und \"Zeit f\u00fcr den Indexaufbau\".<\/p>\n<p>Die konkreten Ergebnisse h\u00e4ngen von der Struktur der Datenbank ab, aber im Durchschnitt liegt die Wiederherstellungszeit ungef\u00e4hr bei der doppelten Backup-Zeit. Daher w\u00fcrde man, wenn man die Backup-Zeit als Einheit nimmt, f\u00fcr die \"klassische Konvertierung\" drei Zeiteinheiten und f\u00fcr die fortlaufende Konvertierung zwei Zeiteinheiten ansetzen. Zus\u00e4tzlich kann die Zeit durch Erh\u00f6hung des TempCacheLimits weiter reduziert werden.<\/p>\n<p>Insgesamt erm\u00f6glicht die fortlaufende Konvertierung in der Praxis eine Einsparung von 30-40% der Zeit im Vergleich zu sequentiellem Backup und Wiederherstellung.<\/p>\n<p><b>Fragen?<\/b><\/p>\n<p>Bitte senden Sie alle Fragen in die Kommentare oder kontaktieren Sie den Autor der Methode und Mitautor dieses Artikels \u2014 Vasily Sidorov, leitender Systemingenieur bei \u201eiBase\u201c, unter der E-Mail-Adresse bs at ibase ru.<\/p>\n<p class=\"for_users_only_msg\">Nur registrierte Benutzer k\u00f6nnen an der Umfrage teilnehmen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Bitte melden Sie sich an.<\/a><\/noindex>Sind Sie an Contour interessiert?<\/p>\n<h2 class=\"default-block__polling-title\">Welche Firebird-Version verwenden Sie?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Firebird 3.x<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Firebird 2.5<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Firebird 2.1<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Firebird 2.0, 1.5 oder 1.0<\/p>\n<\/li>\n<\/ul>\n<p>    16 Nutzer haben abgestimmt. 1 Nutzer hat sich enthalten.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/445204\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Firebird \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 O(n)D(isk)S(tructure). \u0414\u043e \u0432\u0435\u0440\u0441\u0438\u0438 2.5 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0434\u0432\u0438\u0436\u043e\u043a Firebird \u043c\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 ODS \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u044b \u043e\u0442 \u0441\u0442\u0430\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438, \u043d\u043e \u0434\u0432\u0438\u0436\u043e\u043a Firebird 3.0 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0411\u0414 \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 ODS \u0432\u0435\u0440\u0441\u0438\u0438 12.0. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0439\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-30280","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0423 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Firebird \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 O(n)D(isk)S(tructure). \u0414\u043e \u0432\u0435\u0440\u0441\u0438\u0438 2.5 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0434\u0432\u0438\u0436\u043e\u043a Firebird \u043c\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 ODS \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u044b \u043e\u0442 \u0441\u0442\u0430\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438, \u043d\u043e \u0434\u0432\u0438\u0436\u043e\u043a Firebird 3.0 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0411\u0414 \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 ODS \u0432\u0435\u0440\u0441\u0438\u0438 12.0. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0439\u0442\u0438\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u043e\u0442\u043e\u0447\u043d\u0430\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u0431\u0430\u0437 Firebird 2.5 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442 ODS12 (Firebird 3.0) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0423 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Firebird \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 O(n)D(isk)S(tructure). \u0414\u043e \u0432\u0435\u0440\u0441\u0438\u0438 2.5 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0434\u0432\u0438\u0436\u043e\u043a Firebird \u043c\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 ODS \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u044b \u043e\u0442 \u0441\u0442\u0430\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438, \u043d\u043e \u0434\u0432\u0438\u0436\u043e\u043a Firebird 3.0 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0411\u0414 \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 ODS \u0432\u0435\u0440\u0441\u0438\u0438 12.0. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0439\u0442\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:34:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:34:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Stream-Konvertierung von Firebird 2.5 in das ODS12-Format (Firebird 3.0) | ProHoster","description":"Jede Firebird-Version hat ihre eigene Version des Formats f\u00fcr die Datenbankstrukturen \u2013 O(n)D(isk)S(tructure). Bis einschlie\u00dflich Version 2.5 konnte die Firebird-Engine mit ODS fr\u00fcherer Versionen arbeiten, d.h. Datenbanken aus \u00e4lteren Versionen konnten mit der neuen Version ge\u00f6ffnet und im Kompatibilit\u00e4tsmodus betrieben werden, aber die Firebird 3.0-Engine arbeitet nur mit Datenbanken, die ihre eigene ODS-Version 12.0 haben. Um zu wechseln","canonical_url":"https:\/\/prohoster.info\/de\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u043e\u0442\u043e\u0447\u043d\u0430\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u0431\u0430\u0437 Firebird 2.5 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442 ODS12 (Firebird 3.0) | ProHoster","og:description":"\u0423 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Firebird \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 O(n)D(isk)S(tructure). \u0414\u043e \u0432\u0435\u0440\u0441\u0438\u0438 2.5 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0434\u0432\u0438\u0436\u043e\u043a Firebird \u043c\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 ODS \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u044b \u043e\u0442 \u0441\u0442\u0430\u0440\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438, \u043d\u043e \u0434\u0432\u0438\u0436\u043e\u043a Firebird 3.0 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0411\u0414 \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 ODS \u0432\u0435\u0440\u0441\u0438\u0438 12.0. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0439\u0442\u0438","og:url":"https:\/\/prohoster.info\/de\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:34:38+00:00","article:modified_time":"2019-10-31T18:34:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30280","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 00:29:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:37:28","updated":"2026-01-21 00:29:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=30280"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30280\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=30280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=30280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=30280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}