gbak - backup embeded DB

35 views
Skip to first unread message

Peter Turčan

unread,
Jun 7, 2023, 11:27:04 AM6/7/23
to Firebird (CZ)
Ahojte

je mozne cez gbak spravit backup embeded DB?
ked totiz zadam
gbak.exe -b -v -user SYSDBA -pass masterkey "x:\source.FDB" "x:\backup.fdb"

tak dostanem:
gbak: ERROR:unavailable database
gbak:Exiting before completion due to errors

ide mi o to, ze by som chcel spravit backup embeded DB aby som ju mohol nasledne cez gbak aj restornut a nielen do embeded ale aj do sietovej DB (pripadne zo sietovej do embedded)

zistil som, ze gbak asi vie restornut len pred tym gbak-om zalohovanu DB a aj to len sietovu verziu databazy. 
a zaloha zo siete nie je pouzitelna ako embeded....

potreboval by som mat moznost "prelievat" v pripade potreby databazu medzi embeded a classic/superserver napr.


dakujem za rady

Jiří Činčura

unread,
Jun 7, 2023, 3:29:14 PM6/7/23
to fireb...@googlegroups.com
> je mozne cez gbak spravit backup embeded DB?

Embedded je uplne stejny format jako "server". Vubec se nelisi.

> gbak: ERROR:unavailable database
> gbak:Exiting before completion due to errors

Nedrzi ti jina aplikace embedded zamcenou (tedy zalezi ne verzi 2.5, 3.0, ... a na OS (resp. CS, SS, SC))?

> a zaloha zo siete nie je pouzitelna ako embeded....

Je. Je to uplne stejny format.

> potreboval by som mat moznost "prelievat" v pripade potreby databazu
> medzi embeded a classic/superserver napr.

To muzes primo. Nemusis ani delat B&R.

--
Mgr. Jiří Činčura
https://www.tabsoverspaces.com/

Peter Turčan

unread,
Jun 7, 2023, 4:03:46 PM6/7/23
to Firebird (CZ)
 ano, binarne je DB format zhodny embedded a aj "server"
ale gbak.exe vyraba svoj format, a ten je nekompatibilny s binarnym formatom DB.
Takze nemozem spravit 
gbak -b -user SYSDBA -pass masterkey 127.0.0.1/dbname x:\backup.fdb 

a potom ten backup.fdb pouzit do embedded... to nejde.
a ani ten backup nakopcit  "surovo" na server nejde.
jedina moznost je cez gbak.exe tu DB obnovit naspat na server

teraz som to skusil



Dátum: streda 7. júna 2023, čas: 21:29:14 UTC+2, odosielateľ: ji...@cincura.net

Jiří Činčura

unread,
Jun 7, 2023, 4:47:23 PM6/7/23
to fireb...@googlegroups.com
> a potom ten backup.fdb pouzit do embedded... to nejde.

Pokud to chces dat na server, nemusis ani delat backup. Staci nakopirovat rovnou FDB (pripadne pro jistotu `alter database begin backup`, ... pokud by nahodou ta embedded DB bezela).

peca

unread,
Jun 8, 2023, 9:46:03 AM6/8/23
to fireb...@googlegroups.com
Ahoj,

    no pochopitelně, že záloha je jiný binární formát, než samotná databáze. Pokud potřebuji přenést databázi jinam, musím udělat nejprve backup a potom zase restore.

GBAK -b -t puvodni_server:port/cesta/puvodni_databaze.fdb pracovni_zaloha.fbk
GBAK -rep pracovni_zaloha.fbk druhy_server:port/jina_cesta/druha_databaze.fdb

    Přepínač na obnovení buď "-rec" pro vytvoření nové databéze, pokud soubor toho jména neexistuje, jinak "-rep" pro přepis stávající databáze na tom místě, kam se obnovuje.

    Jinak "GBAK --help" vypíše vše, co je potřeba.

Peca

Dne 07.06.2023 v 22:03 Peter Turčan napsal(a):
--
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „Firebird (CZ)“ ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu firebird_cz...@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/firebird_cz/0a301db4-ac8d-4541-bc35-d11add34418bn%40googlegroups.com.

Peter Turčan

unread,
Jun 8, 2023, 9:55:42 AM6/8/23
to Firebird (CZ)
no ano, ved to som pisal. ale
ako ten subor pracovni_zaloha.fdb obnovim do embeded ked je top iny format?
je na to vo firebirde nejaky tool, co to konvertuje?

vdaka


Dátum: štvrtok 8. júna 2023, čas: 15:46:03 UTC+2, odosielateľ: peca

Pavel Poles

unread,
Jun 9, 2023, 6:54:12 AM6/9/23
to fireb...@googlegroups.com
Pořád motáte dvě věci, databázi a její zálohu.
Databáze je jeden formát a je stejný pro embeded i pro server.
Záloha je druhý formát a je také stejný pro oboje.

Primární problém k pochopení je asi v původním zápisu
gbak -b -user SYSDBA -pass masterkey 127.0.0.1/dbname x:\backup.fdb

Pro srozumitelnost pro zálohy používejte příponu fbk ne fdb, tedy lépe
gbak -b -user SYSDBA -pass masterkey 127.0.0.1/dbname x:\backup.fbk

Tento příkaz vytvoří záložní soubor, NE kopii databáze. Aby jste se záložního souboru dostal znovu formát databáze musíte použít gbak -r,
tak jak psal peca.

Nebou použijte nbackup, bude to rychlejší, nebo prostě jen natvrdo zkopírovat, pro jistotu s tím alter database jak psal Jiří.

Je to něco jako když mám obrázek a jeho zálohu v ZIP archivu, když chci ten obrázek znovu použít, nemůžu přece použít zip, ale musím ho znovu rozbalit.

Pavel

Dne 08.06.2023 v 15:55 Peter Turčan napsal(a):

peca

unread,
Jun 9, 2023, 6:54:12 AM6/9/23
to fireb...@googlegroups.com
Ty jsi psal "gbak.exe vyraba svoj format, a ten je nekompatibilny s binarnym formatom DB"
Já to pochopil tak, že _zálohu_ (proto typicky přípona FBK - nikoli FDB, aby bylo jasné, že je to záloha) z GBAK se pokoušíš kopírovat namísto nové databáze. To nelze. Musí tam být obnovení, opět GBAK, ale jiné parametry a obrácené pořadí souborů (nejprve soubor FBK, potom cílový FDB). Ten GBAK ze zálohy vytvoří opět funkční databázi.

Doufám že si rozumím, že nelze udělat "zálohu" v jednom kroku přímo z databáze do databáze, ale ve dvou krocích z databáze do zálohy a potom ze zálohy do nové databáze.

Jinak lze dělat stínové databáze (shadow) a tak mít 2 naprosto rovnocenné databáze, kdy při výpadku první Firebird automaticky přepne na práci pouze se stínem. Z hlavy si to už nepamatuji, ale je to snad nejrychlejší způsob jak vytvořit klon databáze za provozu - vytvořit shadow a potom jej vypnout a hotovo.

Peca



Dne 08.06.2023 v 15:55 Peter Turčan napsal(a):
no ano, ved to som pisal. ale
Reply all
Reply to author
Forward
0 new messages