Delphi-Firebird másolás után elérhetetlen adatbázis

Delphi-Firebird másolás után elérhetetlen adatbázis
2014-03-31T09:31:19+02:00
2014-04-18T05:13:43+02:00
2022-11-30T23:05:37+01:00
E.D.
Az lenne a problémám, hogy adott egy egyedi program (Delphi+FireBird). Aminek az adatbázisáról évek óta nem készül biztonsági mentés.
Gondoltam felrakok egy Cobian backup-ot és megoldom. Fel is raktam, beállítottam a rendszeres mentést és egy mentést meg is csináltam.

Viszont ezután indítottam volna a programot az eredeti helyén és ahelyett, hogy rendesen elindulna, az adatbázis elérhetetlenségére panaszkodik, majd bezárja magát.

Mi okozhatja ezt? Illetve hogyan lehetne megreparálni?
Mutasd a teljes hozzászólást!

  • Tudod létezik olyan hogy hibaüzenet!

    Elárulom, sokat meg lehet tudni a hibaüzenet szövegéből, de ha gondolod 11:13-kor koncentrálj erősen a problémára, mi meg majd latba vetjük mentalista képességeinket és kitaláljuk mire gondolsz.
    Mutasd a teljes hozzászólást!
  • Hibaüzenet:

    "Az adatállomány nem elérhető! Kérem ellenőrizze a hálózatot!"
    leokézom, majd jön ez:
    "HIBÁS SQL=SELECT * FROM TBFELH WHERE FKOD="
    ezt is leokézom és végül ez jön:
    "Transaction is not active."
    Ha ezt leokézom, akkor bezáródik a program.
    Mutasd a teljes hozzászólást!
  • A hibaüzeneted a program által elkapott eredeti hibaüzenet lenyelése(!) után a program által adott üzenet.
    [Tiszteltetem a programozót!]

    Próbálj meg egy utility-vel kapcsolódni az adatbázishoz, hogy kiderüljön a valós probléma okáról infót adó hibaüzenet.

    Szép dolog a következményről tájékoztatni, csak "hiábavalóság".
    Mutasd a teljes hozzászólást!
  • Próbáltam egy IB expert-el is csatlakozni egy másik gépen a másolt adatbázishoz (eredetit így nem piszkálnám)

    Ott a kapcsolódás elvileg megy az adatbázishoz (kapcsolat tesztelése sikeres), de mikor meg akarom nézni az adatbázis tartalmát vele, akkor már ezt írja:
    "wrong or obsolete version. unsupported on-disk structure for file C:\****\****.GDB; found 32779.10, support 0.28"

    Rákeresve neten erre a hibaüzenetre több helyen azt írják, hogy rossz verziót használok valamiből... Csak azt nem sikerült kibogarásznom, hogy miből és miképpen tudom lecserélni. illetve ha az eredeti gépen is ez lenne a probléma, az hogy történhetett? Egy biztonsági mentés előtt még jó volt, aztán meg verzióprobléma?
    Mutasd a teljes hozzászólást!
  • Egyébként Cobian backup shadow copy-val dolgozik. Telepítéskor/használatkor nem lehet, hogy ez okozott valami hibát? Bár ennek tudtommal pont az a lényege, hogy akkor is lehessen menteni, ha éppen fut az az alkalmazás, amit mentenénk.
    Mutasd a teljes hozzászólást!
  • Elvileg "eltéríti" a lemezre írásokat és később (a shadow üzem kikapcsolásakor) írja valóban a fileba (vagy adminisztrálja a filehez a máshová tett írt adatokat- ki tudja), így elvileg nem okoz gondot, de egy online adatbázisról így soha nem szabad mentést készíteni, laphibás lesz garantáltan.

    De elképzelhető, hogy egy adatbázis esetén a shadow-ból visszatérve talán nem megfelelő sorrendben kerülnek az élő adatfileba a lapok (az adott sorszámú lapok tartalma és jelentése is többször megváltozhat egy shadow copy státusz alatt), ez meg konzisztencia hibát okozhat - elvileg jó kell legyen, de ki tudja milyen az implementáció, hogy visel egy tranzakcionális adatbázist.
    Mutasd a teljes hozzászólást!
  • "unsupported on-disk structure for file C:\****\****.GDB; found 32779.10, support 0.28"

    Ez keményen laphibának tűnik, vagyis amikor az adatbázis motor kiolvassa az adminisztrációs lapot, annak tartalma valami nagyon más, mint aminek ott lennie kell.

    Becsatolom neked az FB levelező listáról kiollózott "tudást":

    corrupt database:
    -- Try first running "gstat -h" to see if the contents of the header page are readable.
    -- If it is, try "gfix -v" to identify physical corruption elsewhere.
    -- IBSurgeon has a free tool for analyzing databases that might also help identify the problem.
    Mutasd a teljes hozzászólást!
  • "unsupported on-disk structure for file C:\****\****.GDB; found 32779.10, support 0.28"

    Próbáltam egy IB expert-el is csatlakozni egy másik gépen a másolt adatbázishoz (eredetit így nem piszkálnám)

    Nem véletlenül arról van szó, hogy az FB verziója más, amivel használni akarja az adatbázist, mint amivel élesben használta?

    Nem egyforma a két gépen az FB szerver! Ha pedig így van, nemigen fogja olvasni!
    Mutasd a teljes hozzászólást!
  • Most látom, hogy Ti is ezzel nyüglődtök ... :D
    épp csak a másik fórumon.
    Delphi-Firebird másolás után elérhetetlen adatbázis probléma - Tudástár - PC Fórum

    Valójában ilyen vészhelyzetben én is azt csináltam volna az IT-s kolléga helyében, hogy feldobom mindkét helyre a kérdést.

    Azon gondolkodom, hogy írni kellene a Cobian programozónak (aki szintén Delphi-s), hogy beépíthetne valamilyen ellenőrzést erre... bár előbb ki kellene találnunk valami hasznos kódot, hogy mit kellene ellenőriznie, mielőtt nekivág a másolásnak.
    Félek, hogy ezt a Cobian nem fogja tudni megoldani.
    Viszont egy földi halandó meg még kevésbé tudja, hogy a firebird adatbázisok sérülhetnek, ha használat közben másolgatjuk őket.
    (Legutóbb kb. 2-3 hete :DES: tanulta meg a saját kárán!  ... azóta ő is áttért a GBAK-ra)
    Mutasd a teljes hozzászólást!
  • Egy lehetőség:

    IBExpert-el csatlakozol az eredeti adatbázisodhoz -> megnyitod -> Tools -> Extract metadata.
    Mindent bejelölsz (ne feletsd el a táblákat sem)!
    Lefuttatod és kapsz egy szkriptet, ami gyakorlatilag a teljes adatbázisod.

    A szkriptet megnyitod és az elején a "Create database" részt átírod értelemszerűen.
    Majd ezt a szkriptet megfuttatod IBEXpertből és voálá: Megvan a másolatod!

    Ez működik "nyitott" adatbázison is!

    P.S.
    Magának az FDB (GDB) fájlnak a másolása nagyon nem egészséges!
    Mutasd a teljes hozzászólást!
  • "Magának az FDB (GDB) fájlnak a másolása nagyon nem egészséges!"


    Az adatbázis mentésére van két 'gyári' adatmentési utility és pár 3rdparty.

    Aki nem talál megfelelőt, az magára vessen.

    Mindnek van előnyös és hátrányos tulajdonsága (mint általában mindennek).
    Lehet válogatni.
    Mutasd a teljes hozzászólást!
  • "Nem véletlenül arról van szó, hogy az FB verziója más, amivel használni akarja az adatbázist, mint amivel élesben használta?"


    Akkor félreértünk valamit, én úgy értettem az eredeti adatbázis file használata az eredeti programmal és adatbázis kezelővel problémás.

    Ha csak a mentett állománnyal van a gond, az más tészta és nem is igazi probléma.
    Oldja meg
    Mutasd a teljes hozzászólást!
  • Éles gépen a program nem tudja elérni az adatbázist.
    Ekkor félre is raktam a gépet és egy teszt gépen kísérleteztem tovább a mentett változatokkal. Amiket ugyan csak nem tudtam elérni sem a programmal, aminek használnia kellene őket, sem adatbázis managerrel... De itt lehet tényleg az a gond, hogy a teszt gépre rossz fb verziót telepítettem. 
    Elvileg holnap újra meg tudom nézni az eredeti gépen, hogy milyen verzió lett oda telepítve.
    Mutasd a teljes hozzászólást!
  • Hali!
    Ilyen hiba akkor fordul elő, amikor a firebird mellé felkerül az IB motor is. Ellenőrizd, és távolítsd el! Csak a fb fusson! Valszeg a Cobian a bűnös...
    Mutasd a teljes hozzászólást!
  • Ha megoldódott, akkor zárd le a Topic-ot azzal, hogy elfogadod valamelyik hozzászólást megoldásként, mely a leginkább segített.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd