{"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\/it\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0","title":{"rendered":"Conversione in tempo reale delle database Firebird 2.5 nel formato ODS12 (Firebird 3.0)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ogni versione di Firebird ha la propria versione del formato delle strutture dei dischi del database \u2013 O(n)D(isk)S(tructure). Fino alla versione 2.5 inclusa, il motore Firebird poteva lavorare con ODS delle versioni precedenti, cio\u00e8 i database di versioni pi\u00f9 vecchie potevano essere aperti dalla nuova versione e funzionare in modalit\u00e0 compatibilit\u00e0, ma il motore Firebird 3.0 funziona solo con database nella propria versione ODS 12.0.<\/p>\n<p>Per passare a 3.0, il database da 2.5 deve essere convertito nel nuovo formato tramite backup\/ripristino. Naturalmente, supponiamo che il database sia stato preparato in anticipo per la conversione, ovvero che i metadati e le query siano stati controllati per la compatibilit\u00e0 con Firebird 3.0.<\/p>\n<p>Se si segue l'approccio standard, ci\u00f2 significa che \u00e8 necessario eseguire un backup sulla versione 2.5, quindi installare 3.0 e ripristinare. Questa procedura \u00e8 accettabile se c'\u00e8 tempo a disposizione, ma durante la migrazione di grandi database, o durante la migrazione simultanea di diverse decine di database, quando il tempo \u00e8 ristretto, \u00e8 possibile utilizzare la conversione in tempo reale, che \u00e8 dal 30% al 40% pi\u00f9 veloce. Come fare ci\u00f2 (su Windows e Linux), leggi pi\u00f9 avanti.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nL'idea generale \u00e8 che per accelerare utilizzeremo una pipeline:<\/p>\n<pre><code class=\"plaintext\">gbak -b \u2026 database25 stdout | gbak -c \u2026 stdin database30<\/code><\/pre>\n<p>\nGbak 2.5 genera un backup in formato lineare e lo invia a stdout, che viene immediatamente acquisito tramite stdin da gbak 3.0, creando un nuovo database.<\/p>\n<p>\u00c8 necessario organizzare questa pipeline utilizzando il metodo di accesso locale (file), poich\u00e9 l'accesso di rete (anche tramite localhost) rallenta notevolmente il processo.<\/p>\n<p>Di seguito esaminiamo i dettagli per Windows e Linux.<\/p>\n<p><b>Windows<\/b><\/p>\n<p>Nel caso di Windows, il modo pi\u00f9 semplice \u00e8 creare una build completamente autonoma di Firebird. Per questo prendiamo <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/FirebirdSQL\/firebird\/releases\/download\/R2_5_8\/Firebird-2.5.8.27089-0_x64_embed.zip\">l'archivio embed di Firebird 2.5<\/a><\/noindex>, rinominiamo fbemded.dll in fbclient.dll, aggiungiamo dall'archivio gli strumenti gbak.exe e (facoltativo) \u2013 isql.exe della versione normale 2.5. <\/p>\n<p>Firebird 3.0 utilizza <noindex><a rel=\"nofollow\" href=\"https:\/\/firebirdsql.org\/en\/firebird-3-0\/\">una build unica<\/a><\/noindex> e non richiede alcuna modifica.<\/p>\n<p>La versione minima (che non richiede l'installazione delle librerie runtime VS2008\/VS2010 sul sistema di destinazione) contiene i seguenti file:<\/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>\nUn amministratore esperto pu\u00f2 notare che in 2.5 non sono inclusi i file intl\/fbintl.dll e intl\/fbintl.conf. \u00c8 effettivamente cos\u00ec, poich\u00e9 gbak non utilizza il charset di connessione e non converte i dati tra i charset, ma sul lato di 'ricezione' di Firebird 3.0 questi file sono necessari durante la creazione degli indici.<\/p>\n<p>In firebird.conf si raccomanda di aggiungere per Firebird 3.0:<\/p>\n<pre><code class=\"plaintext\">MaxUnflushedWrites = -1\nMaxUnflushedWriteTime = -1<\/code><\/pre>\n<p>\n\u00c8 inoltre consigliabile impostare valori diversi per IpcName per 2.5 e 3.0. <\/p>\n<p>Nella scelta dei valori per altre impostazioni di firebird.conf, partiamo da un semplice ragionamento: durante il processo di caricamento dei dati un'istanza di gbak opera in 2.5, mentre un'altra in 3.0; successivamente, 2.5 termina la sua operazione e 3.0 inizia a costruire gli indici.<\/p>\n<p>Per accelerare la fase di costruzione degli indici in 3.0, si consiglia di aumentare la dimensione del parametro TempCacheLimit fino a circa il 40% della RAM (se ovviamente si tratta di un server dedicato).<\/p>\n<p>Ad esempio, se il server ha 16 GB di RAM, \u00e8 possibile impostare <\/p>\n<pre><code class=\"plaintext\">TempCacheLimit=6G<\/code><\/pre>\n<p>\n<i>Naturalmente, tale valore pu\u00f2 essere impostato solo su Firebird 3 a 64 bit, poich\u00e9 qualsiasi processo a 32 bit non pu\u00f2 allocare pi\u00f9 di 2 gigabyte di memoria.<\/i><\/p>\n<p>Per 2.5 non \u00e8 necessario modificare questo parametro: non pu\u00f2 gi\u00e0 superare i 2 gigabyte e non influisce sulla velocit\u00e0 durante il backup.<\/p>\n<p>Prima di eseguire l'operazione, controlla che la cache della pagina nell'intestazione del database sia impostata a 0 (comando <code>gstat -h databasename<\/code>, guarda la riga Page buffers). <\/p>\n<p>Se la cache \u00e8 esplicitamente impostata nell'intestazione del database, sovrascrive i valori di firebird.conf (e databases.conf in 3.0) e, in caso di valori eccessivamente grandi, pu\u00f2 portare a un uso eccessivo della memoria e a uno swappaggio.<\/p>\n<p>Successivamente, copiamo i file nel sistema di destinazione. <\/p>\n<p>La conversione avviene dopo aver fermato il servizio \"system\" di Firebird 2.5, nella riga di comando con privilegi elevati a quelli di amministratore locale (esempio):<\/p>\n<pre><code class=\"plaintext\">set ISC_USER=proprietario\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 questo esempio viene utilizzata la \"barra obliqua\" tra virgolette (stile unix consentito), e il \"cappello\" (simbolo \"^\") esegue l'escape del carattere di newline, utile per digitare comandi lunghi. L'opzione -st(atus) \u00e8 stata introdotta in Firebird 2.5.8 e consente di registrare nel log i dati sul tempo di esecuzione del processo gbak (dettagli nella documentazione).<\/p>\n<p><b>Linux<\/b><\/p>\n<p>Su Linux, Firebird 3 dipende dalla libreria tommath. In CentOS (RHEL) questa libreria si trova nel repository epel, in Ubuntu (Debian) nel sistema.<\/p>\n<p>Per CentOS, \u00e8 necessario prima abilitare il repository epel e solo dopo procedere con <\/p>\n<pre><code class=\"plaintext\">yum install libtommath<\/code><\/pre>\n<p>\nPer Ubuntu non \u00e8 necessario abilitare repository aggiuntivi, ma su Ubuntu 16 e Ubuntu 18 vengono installate versioni diverse dei pacchetti: libtommath0 e libtommath1, rispettivamente.<\/p>\n<p>Firebird 3.0 cerca tommath.so.0 e per Ubuntu 18 \u00e8 necessario creare un link (symlink) da tommath.so.0 a tommath.so.1. Prima \u00e8 necessario trovare tommath.so.1. <\/p>\n<p>Il percorso cercato in Ubuntu \u00e8 <code>\/usr\/lib\/x86_64-linux-gnu\/<\/code>, ma in altre distribuzioni basate su Debian potrebbe essere diverso.<\/p>\n<p>Il secondo problema \u00e8 che fino a Firebird 3.0.1, compreso, non c'era un modo semplice per installare due versioni diverse del server. L'opzione \"compilare dai sorgenti con il prefisso desiderato\" non viene considerata a causa della sua relativa complessit\u00e0.<\/p>\n<p>Per Firebird 3.0.2 e versioni superiori \u00e8 stata implementata <noindex><a rel=\"nofollow\" href=\"http:\/\/tracker.firebirdsql.org\/browse\/CORE-5204\">una build con \u2013enable-binreloc<\/a><\/noindex> e un'opzione separata per l'installer (-path percorso).<\/p>\n<p>Supponendo che la libreria tommath e, se necessario, il symlink per tommath.so.0 siano stati aggiunti al sistema, \u00e8 possibile installare la distribuzione attuale (al momento della scrittura di questo articolo) di Firebird 3.0.4 in, ad esempio, \/opt\/fb3:<\/p>\n<pre><code class=\"plaintext\">.\/install.sh -path \/opt\/fb3<\/code><\/pre>\n<p>\nDopo di che, \u00e8 possibile fermare il servizio di sistema Firebird e avviare la conversione in streaming. <\/p>\n<p><i>Quando si arresta Firebird, \u00e8 importante considerare che i processi Firebid 2.5 in modalit\u00e0 Classic vengono solitamente avviati da xinetd: pertanto, \u00e8 necessario disabilitare il servizio firebird per xinetd o arrestare completamente xinetd.<\/i><\/p>\n<p>Nel file firebird.conf per la versione 3.0 su Linux non \u00e8 necessario impostare i parametri MaxUnflushed (funzionano solo su Windows) e modificare le impostazioni di Firebird 2.5. <\/p>\n<p>Su Linux, l'accesso locale (file-based) a Firebird 2.5 non \u00e8 equivalente alla variante embedded su Windows: il server 2.5 funzioner\u00e0 nel processo gbak (senza parte di rete), ma i diritti di accesso verranno verificati in base al database degli utenti, il che significa che saranno necessari sia il login che la password: <\/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>\nDopo una conversione riuscita, prima \u00e8 necessario rimuovere 'l'ulteriore' Firebird 3.0, poi 'il principale' Firebird 2.5 e solo dopo eseguire un'installazione pulita di Firebird 2.5 \u2014 ed \u00e8 meglio farlo utilizzando l'installer standard tar.gz, piuttosto che attraverso i repository, poich\u00e9 la versione nei repository potrebbe essere obsoleta.<\/p>\n<p>Inoltre, dopo il ripristino del DB su Linux e la reinstallazione, \u00e8 necessario verificare che il nuovo DB abbia come proprietario l'utente firebird.<\/p>\n<p>Se non \u00e8 cos\u00ec, dovr\u00e0 essere corretto.<\/p>\n<pre><code class=\"plaintext\">chown firebird.firebird database<\/code><\/pre>\n<p>\n<b>Risultato<\/b><\/p>\n<p>Oltre al risparmio di tempo e spazio su disco, la conversione in streaming presenta un altro importante vantaggio: la trasformazione del database avviene senza rimuovere il Firebird 2.5 esistente, il che semplifica notevolmente il ripristino in caso di conversione non riuscita (di solito a causa di spazio insufficiente o di un'improvvisa riavvio durante il processo di migrazione).<\/p>\n<p>Il risparmio di tempo \u00e8 legato al fatto che la conversione \"classica\" comporta il \"tempo di backup\" pi\u00f9 il \"tempo di ripristino\". Il ripristino \u00e8 composto da due parti: lettura dei dati dal file di backup e costruzione dell'indice.<\/p>\n<p>Con la conversione in streaming, il tempo totale risulta essere \"tempo di backup pi\u00f9 cinque-dieci percento\" e \"tempo di costruzione degli indici\".<\/p>\n<p>I risultati specifici dipendono dalla struttura del database, ma mediamente il tempo di ripristino \u00e8 circa il doppio del tempo di backup. Pertanto, se consideriamo come unit\u00e0 il tempo di backup, la \"conversione classica\" richiede tre unit\u00e0 di tempo, mentre quella in streaming due unit\u00e0 di tempo. Aumentare il TempCacheLimit aiuta ulteriormente a ridurre il tempo.<\/p>\n<p>In generale, la conversione in streaming consente di risparmiare circa il 30-40% del tempo rispetto al backup e ripristino sequenziale.<\/p>\n<p><b>Domande?<\/b><\/p>\n<p>Per favore, inviate tutte le domande nei commenti, o contattate l'autore del metodo e co-autore di questo articolo \u2014 Vasily Sidorov, ingegnere di sistema senior dell'azienda \u00abiBase\u00bb, all'indirizzo bs at ibase ru.<\/p>\n<p class=\"for_users_only_msg\">Solo gli utenti registrati possono partecipare al sondaggio. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Accedi<\/a><\/noindex>, per favore.<\/p>\n<h2 class=\"default-block__polling-title\">Quale versione di Firebird utilizzi?<\/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 o 1.0<\/p>\n<\/li>\n<\/ul>\n<p>    16 utenti hanno votato. 1 utente ha scelto di astenersi.<br \/>\n<br \/>Fonte: <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.0.1 - 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\/it\/blog\/potochnaya-konvertatsiya-baz-firebird-2-5-v-format-ods12-firebird-3-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Conversione in streaming dei database Firebird 2.5 nel formato ODS12 (Firebird 3.0) | ProHoster","description":"Ogni versione di Firebird ha la propria versione del formato delle strutture disco del database \u2013 O(n)D(is)S(tructure). Fino alla versione 2.5 inclusa, il motore Firebird poteva lavorare con ODS delle versioni precedenti, cio\u00e8 i database delle versioni pi\u00f9 vecchie venivano aperti dalla nuova versione e operavano in modalit\u00e0 compatibilit\u00e0, ma il motore Firebird 3.0 funziona solo con DB nella propria versione ODS 12.0. Per passare","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/30280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=30280"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30280\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=30280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=30280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=30280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}