{"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\/sk\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0","title":{"rendered":"Pr\u00fadov\u00e1 konverzia datab\u00e1z Firebird 2.5 do form\u00e1tu ODS12 (Firebird 3.0)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ka\u017ed\u00e1 verzia Firebird m\u00e1 svoju vlastn\u00fa verziu form\u00e1tu diskov\u00fdch \u0161trukt\u00far datab\u00e1zy \u2013 O(n)D(isk)S(tructure). Do verzie 2.5 vr\u00e1tane mohol motor Firebird pracova\u0165 s ODS predch\u00e1dzaj\u00facich verzi\u00ed, teda datab\u00e1zy zo star\u0161\u00edch verzi\u00ed sa otvorili novou verziou a pracovali v re\u017eime kompatibility, ale motor Firebird 3.0 funguje iba s DB vo vlastnej ODS verzii 12.0.<\/p>\n<p>Aby ste pre\u0161li na 3.0, datab\u00e1zu z 2.5 je potrebn\u00e9 previes\u0165 do nov\u00e9ho form\u00e1tu cez backup\/restore. Predpoklad\u00e1me, \u017ee DB bola predt\u00fdm pripraven\u00e1 na konverziu \u2014 t.j. metadata a dopyty boli overen\u00e9 na kompatibilitu s Firebird 3.0.<\/p>\n<p>Ak sa riadite \u0161tandardn\u00fdm pr\u00edstupom, znamen\u00e1 to, \u017ee mus\u00edte vykona\u0165 z\u00e1lohu na verzii 2.5, potom nain\u0161talova\u0165 3.0 a vykona\u0165 restore. Tak\u00fdto proces je prijate\u013en\u00fd, ak m\u00e1te dostatok \u010dasu, ale pri migr\u00e1cii ve\u013ek\u00fdch datab\u00e1z, alebo pri s\u00fa\u010dasnej migr\u00e1cii nieko\u013ek\u00fdch desiatok DB, ke\u010f \u010das tla\u010d\u00ed, m\u00f4\u017eete vyu\u017ei\u0165 pr\u00fadov\u00fa konverziu, ktor\u00e1 je o 30-40% r\u00fdchlej\u0161ia. Ako to presne spravi\u0165 (pod Windows a pod Linux), \u010d\u00edtajte ni\u017e\u0161ie.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nCelkovo ide o to, \u017ee na ur\u00fdchlenie vyu\u017eijeme potrubie:<\/p>\n<pre><code class=\"plaintext\">gbak -b \u2026 datab\u00e1za25 stdout | gbak -c \u2026 stdin datab\u00e1za30<\/code><\/pre>\n<p>\nGbak z 2.5 generuje z\u00e1lohu v line\u00e1rnom form\u00e1te a smeruje ju do stdout, ktor\u00fa okam\u017eite cez stdin zachyt\u00e1va gbak z 3.0 a vytv\u00e1ra nov\u00fa DB.<\/p>\n<p>Tak\u00e9to potrubie je potrebn\u00e9 organizova\u0165 v\u00fdlu\u010dne lok\u00e1lnym (s\u00faborov\u00fdm) pr\u00edstupom, preto\u017ee sie\u0165ov\u00fd pr\u00edstup (aj cez localhost) zna\u010dn\u011b spoma\u013euje proces.<\/p>\n<p>Ni\u017e\u0161ie sa zaober\u00e1me podrobnos\u0165ami pre Windows a Linux.<\/p>\n<p><b>Windows<\/b><\/p>\n<p>V pr\u00edpade Windows je najjednoduch\u0161ie vytvori\u0165 \u00faplne samostatn\u00fa zostavu Firebird. Na to berieme <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/FirebirdSQL\/firebird\/releases\/download\/R2_5_8\/Firebird-2.5.8.27089-0_x64_embed.zip\">embed-arch\u00edv Firebird 2.5<\/a><\/noindex>, premenov\u00e1me fbemded.dll na fbclient.dll, prid\u00e1me z arch\u00edvu \"oby\u010dajn\u00e9ho\" 2.5 utilitu gbak.exe a (nepovinne) \u2013 isql.exe. <\/p>\n<p>Firebird 3.0 pou\u017e\u00edva <noindex><a rel=\"nofollow\" href=\"https:\/\/firebirdsql.org\/en\/firebird-3-0\/\">jednotn\u00fa zostavu<\/a><\/noindex> a nevy\u017eaduje \u017eiadne \u00fapravy.<\/p>\n<p>Najjednoduch\u0161ia verzia (nevy\u017eaduj\u00faca in\u0161tal\u00e1ciu runtime kni\u017en\u00edc VS2008\/VS2010 na cie\u013eovom syst\u00e9me) obsahuje nasleduj\u00face s\u00fabory:<\/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>\nSk\u00fasen\u00fd administr\u00e1tor si m\u00f4\u017ee v\u0161imn\u00fa\u0165, \u017ee v 2.5 nie s\u00fa zahrnut\u00e9 s\u00fabory intl\/fbintl.dll a intl\/fbintl.conf. Je to naozaj tak, preto\u017ee gbak nepou\u017e\u00edva charset pripojenia a nekonvertuje d\u00e1ta medzi charsetmi, ale na \"prij\u00edmacej\" strane Firebird 3.0 s\u00fa tieto s\u00fabory nevyhnutn\u00e9 pri vytv\u00e1ran\u00ed indexov.<\/p>\n<p>V s\u00fabore firebird.conf sa odpor\u00fa\u010da prida\u0165 Firebird 3.0:<\/p>\n<pre><code class=\"plaintext\">MaxUnflushedWrites = -1\nMaxUnflushedWriteTime = -1<\/code><\/pre>\n<p>\nTaktie\u017e je \u017eiaduce nastavi\u0165 r\u00f4zne hodnoty IpcName pre 2.5 a 3.0. <\/p>\n<p>Pri v\u00fdbere hodn\u00f4t in\u00fdch parametrov firebird.conf vych\u00e1dzame z jednoduch\u00e9ho predpokladu: v jednom procese gbak pracuje 2.5 po\u010das prenosu d\u00e1t, v inom \u2013 3.0, potom 2.5 kon\u010d\u00ed, a 3.0 za\u010d\u00edna budovanie indexov.<\/p>\n<p>Aby sa ur\u00fdchlil proces budovania indexov v 3.0, odpor\u00fa\u010da sa zv\u00fd\u0161i\u0165 ve\u013ekos\u0165 parametra TempCacheLimit na ~40% RAM (ak je to dedikovan\u00fd server, samozrejme).<\/p>\n<p>Napr\u00edklad, ak server m\u00e1 16 GB RAM, m\u00f4\u017eete nastavi\u0165 <\/p>\n<pre><code class=\"plaintext\">TempCacheLimit=6G<\/code><\/pre>\n<p>\n<i>Samozrejme, t\u00fato hodnotu je mo\u017en\u00e9 nastavi\u0165 iba pre 64-bitov\u00fd Firebird 3, preto\u017ee ak\u00fdko\u013evek 32-bitov\u00fd proces nem\u00f4\u017ee alokova\u0165 viac ako 2 gigabajty pam\u00e4te.<\/i><\/p>\n<p>Pre 2.5 nie je potrebn\u00e9 meni\u0165 tento parameter \u2013 aj tak nem\u00f4\u017ee prekro\u010di\u0165 2 gigabajty, a ani pri z\u00e1lohovan\u00ed to neovplyv\u0148uje r\u00fdchlos\u0165.<\/p>\n<p>Pred vykonan\u00edm oper\u00e1cie je potrebn\u00e9 skontrolova\u0165, \u010di je str\u00e1nkov\u00fd cache v hlavi\u010dke datab\u00e1zy nastaven\u00fd na 0 (pr\u00edkaz <code>gstat -h databasename<\/code>, pozrite riadok Page buffers). <\/p>\n<p>Ak je cache zadan\u00e1 priamo v hlavi\u010dke DB, prepisuje hodnoty z firebird.conf (a databases.conf v 3.0), a pri neprimern\u00fdch ve\u013ek\u00fdch hodnot\u00e1ch m\u00f4\u017ee vies\u0165 k nadmern\u00e9mu vy\u0165a\u017eeniu pam\u00e4te a swapovaniu.<\/p>\n<p>\u010ealej skop\u00edrujeme s\u00fabory na cie\u013eov\u00fd syst\u00e9m. <\/p>\n<p>Konverzia sa vykon\u00e1va po zastaven\u00ed \"syst\u00e9movej\" slu\u017eby Firebird 2.5, pr\u00edkazov\u00fdm riadkom s povolen\u00edm lok\u00e1lneho administr\u00e1tora (pr\u00edklad):<\/p>\n<pre><code class=\"plaintext\">set ISC_USER=majite\u013e\n\"25\/gbak\" -z -b -g -v -st t -y 25.log datab\u00e1za25 stdout|^\n\"30\/gbak\" -z -c -v -st t -y 30.log stdin datab\u00e1za30<\/code><\/pre>\n<p>\nV tomto pr\u00edklade sa pou\u017e\u00edva \"priama lomka\" v \u00favodzovk\u00e1ch (platn\u00fd \"unix-style\"), a \"hatsymbol\" (symbol \"^\") escapeuje znak nov\u00e9ho riadku, \u010do je pohodln\u00e9 pri p\u00edsan\u00ed dlh\u00fdch pr\u00edkazov. Mo\u017enos\u0165 -st(atus) sa objavila vo Firebird 2.5.8 a umo\u017e\u0148uje zaznamena\u0165 do protokolu \u00fadaje o \u010dase trvania procesu gbak (podrobnosti \u2013 v dokument\u00e1cii).<\/p>\n<p><b>Linux<\/b><\/p>\n<p>Na Linuxe Firebird 3 z\u00e1vis\u00ed od kni\u017enice tommath. V CentOS (RHEL) sa t\u00e1to kni\u017enica nach\u00e1dza v repozit\u00e1ri epel, v Ubuntu (Debian) v \u2013 syst\u00e9movom.<\/p>\n<p>Pre syst\u00e9m CentOS je najprv potrebn\u00e9 pripoji\u0165 repo epel a a\u017e potom pokra\u010dova\u0165 s <\/p>\n<pre><code class=\"plaintext\">yum install libtommath<\/code><\/pre>\n<p>\nNa Ubuntu nie je potrebn\u00e9 pripoji\u0165 \u010fal\u0161ie repozit\u00e1re, av\u0161ak v Ubuntu 16 a Ubuntu 18 sa in\u0161taluj\u00fa r\u00f4zne verzie bal\u00edkov \u2013 libtommath0 a libtommath1, pr\u00edslu\u0161ne.<\/p>\n<p>Firebird 3.0 h\u013ead\u00e1 tommath.so.0 a pre Ubuntu 18 je navy\u0161e potrebn\u00e9 vytvori\u0165 odkaz (symlink) z tommath.so.0 na tommath.so.1. Najprv treba n\u00e1js\u0165 tommath.so.1. <\/p>\n<p>H\u013eadan\u00e1 cesta v Ubuntu je \u2013 <code>\/usr\/lib\/x86_64-linux-gnu\/<\/code>, ale v in\u00fdch distrib\u00faci\u00e1ch zalo\u017een\u00fdch na Debiane to m\u00f4\u017ee by\u0165 inak.<\/p>\n<p>Druh\u00fd probl\u00e9m s\u00favis\u00ed s t\u00fdm, \u017ee pred Firebird 3.0.1, vr\u00e1tane, neexistoval jednoduch\u00fd sp\u00f4sob, ako nain\u0161talova\u0165 dve r\u00f4zne verzie servera. Mo\u017enos\u0165 \u201ekompilova\u0165 z zdrojov\u00e9ho k\u00f3du s po\u017eadovan\u00fdm prefixom\u201c nezva\u017eujeme z d\u00f4vodu jeho relat\u00edvnej pracnosti.<\/p>\n<p>Pre Firebird 3.0.2 a vy\u0161\u0161ie je implementovan\u00e1 <noindex><a rel=\"nofollow\" href=\"http:\/\/tracker.firebirdsql.org\/browse\/CORE-5204\">kompil\u00e1cia s \u2013enable-binreloc<\/a><\/noindex> a samostatn\u00e1 mo\u017enos\u0165 in\u0161tal\u00e1tora (-path cesta).<\/p>\n<p>Predpokladaj\u00fac, \u017ee kni\u017enica tommath a, v pr\u00edpade potreby, symlink pre tommath.so.0 s\u00fa pridan\u00e9 do syst\u00e9mu, m\u00f4\u017eete nain\u0161talova\u0165 aktu\u00e1lny (v \u010dase p\u00edsania tohto \u010dl\u00e1nku) distribu\u010dn\u00fd bal\u00edk Firebird 3.0.4 do, povedzme, \/opt\/fb3:<\/p>\n<pre><code class=\"plaintext\">.\/install.sh -path \/opt\/fb3<\/code><\/pre>\n<p>\nPo tom m\u00f4\u017eete zastavi\u0165 syst\u00e9mov\u00fa slu\u017ebu Firebird a spusti\u0165 pr\u00fadov\u00fa konverziu. <\/p>\n<p><i>Pri zastaven\u00ed Firebird je potrebn\u00e9 zoh\u013eadni\u0165, \u017ee procesy Firebird 2.5 v re\u017eime Classic zvy\u010dajne sp\u00fa\u0161\u0165a xinetd \u2013 preto je potrebn\u00e9 bu\u010f zak\u00e1za\u0165 slu\u017ebu firebird pre xinetd, alebo \u00faplne zastavi\u0165 xinetd.<\/i><\/p>\n<p>V s\u00fabore firebird.conf pre 3.0 na Linuxe netreba nastavova\u0165 parametre MaxUnflushed (funguj\u00fa len na Windows) a meni\u0165 nastavenia Firebird 2.5. <\/p>\n<p>Na Linuxe lok\u00e1lny (s\u00faborov\u00fd) pr\u00edstup Firebird 2.5 nie je ekvivalentn\u00fd variantu embeded pod Windows \u2013 server 2.5 bude fungova\u0165 v procese gbak (bez sie\u0165ovej \u010dasti), ale pr\u00edstupov\u00e9 pr\u00e1va sa bud\u00fa kontrolova\u0165 na z\u00e1klade datab\u00e1zy pou\u017e\u00edvate\u013eov, teda budete potrebova\u0165 nielen prihlasovacie meno, ale aj heslo: <\/p>\n<pre><code class=\"plaintext\">export ISC_USER=u\u017e\u00edvate\u013e ISC_PASSWORD=heslo\n\/opt\/firebird\/bin\/gbak -b \u2026 datab\u00e1za25 stdout\n|\/opt\/fb3\/bin\/gbak -c \u2026 stdin datab\u00e1za30<\/code><\/pre>\n<p>\nPo \u00faspe\u0161nej konverzii je potrebn\u00e9 najprv odstr\u00e1ni\u0165 \u201edodato\u010dn\u00fd\u201c Firebird 3.0, potom \u201ehlavn\u00fd\u201c Firebird 2.5 a a\u017e potom vykona\u0165 \u010dist\u00fa in\u0161tal\u00e1ciu Firebird 2.5 \u2014 pri\u010dom je najlep\u0161ie to urobi\u0165 z ofici\u00e1lneho in\u0161tal\u00e1tora tar.gz, a nie cez repozit\u00e1re, ke\u010f\u017ee verzia v repozit\u00e1roch m\u00f4\u017ee zaost\u00e1va\u0165.<\/p>\n<p>Taktie\u017e, po obnove DB na Linuxe a reinstal\u00e1cii je potrebn\u00e9 skontrolova\u0165, \u010di nov\u00e1 DB m\u00e1 vlastn\u00edka pou\u017e\u00edvate\u013ea firebird.<\/p>\n<p>Ak nie, bude potrebn\u00e9 to opravi\u0165<\/p>\n<pre><code class=\"plaintext\">chown firebird.firebird datab\u00e1za<\/code><\/pre>\n<p>\n<b>Z\u00e1ver<\/b><\/p>\n<p>Okrem \u00faspory \u010dasu a miesta na disku m\u00e1 postupn\u00e1 konverzia e\u0161te jednu d\u00f4le\u017eit\u00fa v\u00fdhodu \u2013 transform\u00e1cia datab\u00e1zy sa vykon\u00e1va bez odstr\u00e1nenia existuj\u00faceho Firebirdu 2.5, \u010do zna\u010dne zjednodu\u0161uje n\u00e1vrat pri ne\u00faspe\u0161nej konverzii (naj\u010dastej\u0161ie z d\u00f4vodu nedostatku miesta alebo neo\u010dak\u00e1van\u00e9ho re\u0161tartu po\u010das procesu migr\u00e1cie).<\/p>\n<p>\u00daspora \u010dasu je spojen\u00e1 s t\u00fdm, \u017ee \u201eklasick\u00e1\u201c konverzia znamen\u00e1 \u201e\u010das z\u00e1lohovania\u201c plus \u201e\u010das obnovy\u201c. Obnova sa sklad\u00e1 z dvoch \u010dast\u00ed: \u010d\u00edtania \u00fadajov zo z\u00e1lohovacieho s\u00faboru a budovania indexu.<\/p>\n<p>Pri postupnej konverzii sa celkov\u00fd \u010das vypo\u010d\u00edtava ako \u201e\u010das z\u00e1lohovania plus p\u00e4\u0165 a\u017e desa\u0165 percent\u201c a \u201e\u010das budovania indexov\u201c.<\/p>\n<p>Konkr\u00e9tne v\u00fdsledky z\u00e1visia od \u0161trukt\u00fary datab\u00e1zy, ale v priemere je \u010das obnovy pribli\u017ene dvojn\u00e1sobkom \u010dasu z\u00e1lohovania. Preto ak vezmeme ako jednotku \u010das z\u00e1lohovania, tak \u201eklasick\u00e1 konverzia\u201c \u2013 tri jednotky \u010dasu, postupn\u00e1 \u2013 dve jednotky \u010dasu. \u010eal\u0161ie skr\u00e1tenie \u010dasu pom\u00e1ha zv\u00fd\u0161enie TempCacheLimit.<\/p>\n<p>Celkovo, postupn\u00e1 konverzia v praxi umo\u017e\u0148uje u\u0161etri\u0165 30-40% \u010dasu sekven\u010dnej z\u00e1lohy a obnovy.<\/p>\n<p><b>M\u00e1te ot\u00e1zky?<\/b><\/p>\n<p>Pros\u00edm, v\u0161etky ot\u00e1zky p\u00ed\u0161te do koment\u00e1rov, alebo posielajte autorovi metodiky a spoluautorovi tohto \u010dl\u00e1nku \u2014 Vasilijovi Sidorovovi, ved\u00facemu syst\u00e9mov\u00e9mu in\u017einierovi spolo\u010dnosti \u201eiBase\u201c, na adresu bs at ibase ru.<\/p>\n<p class=\"for_users_only_msg\">Len registrovan\u00ed pou\u017e\u00edvatelia sa m\u00f4\u017eu z\u00fa\u010dastni\u0165 prieskumu. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Prihl\u00e1ste sa<\/a><\/noindex>, pros\u00edm.<\/p>\n<h2 class=\"default-block__polling-title\">Ak\u00fa verziu Firebirdu pou\u017e\u00edvate?<\/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 alebo 1.0<\/p>\n<\/li>\n<\/ul>\n<p>    Hlasovalo 16 pou\u017e\u00edvate\u013eov. Zdr\u017eal sa 1 pou\u017e\u00edvate\u013e.<br \/>\n<br \/>Zdroj: <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 5.0.3 - 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).\" \/>\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\/sk\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/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\udd47Postupn\u00e1 konverzia datab\u00e1z Firebird 2.5 do form\u00e1tu ODS12 (Firebird 3.0) | ProHoster","description":"Ka\u017ed\u00e1 verzia Firebirdu m\u00e1 vlastn\u00fa verziu form\u00e1tu diskov\u00fdch \u0161trukt\u00far datab\u00e1zy \u2013 O(n)D(isk)S(trukt\u00fara).","canonical_url":"https:\/\/prohoster.info\/sk\/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":"sk_SK","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).","og:url":"https:\/\/prohoster.info\/sk\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/30280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=30280"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/30280\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=30280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=30280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=30280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}