Difference between revisions of "Nl:Het herstellen van een corrupt gegevensbestand"

From Gramps
Jump to: navigation, search
(Why this corruption?)
(Wat doet u dan?)
 
(26 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Dit is een poging om uit te leggen hoe een gegevensbestand corrupt wordt. Hoe kan je je gegevens herstellen en hoe voorkom je dat je gegevens corrupt worden.
+
{{grampsmanualcopyright/nl}}
[[Category:Nl:Hoe...|Het herstellen van een corrupt gegevensbestand]]
 
  
==Waarom worden de gegevens corrupt?==
+
{{languages|Recover corrupted family tree|Het herstellen van een corrupt gegevensbestand}}
De voornaamste oorzaak is het verplaatsen van een grdb-bestand. Indien je dit bestand verplaatst naar een andere map, de bestandsnaam verandert,het bestand copiëert naar een ander bestand, het bestand verplaatst naar een andere computer of een andere gebruiker kunnen de gegevens 'corrupt' worden.
+
 
 +
Uitleg over '''familiestamboom''' en '''corrupte GRDB''', hoe de gegevens herstellen en hoe dit te voorkomen.
 +
 
 +
== Corrupte familiestamboom ==
 +
== Wat was de oorzaak? ===
 +
Niet bekend. Maar een corrupt gegevensbestand is veel onwaarschijnlijker met de recentere versies van Gramps (> 2.2.x).
 +
 
 +
=== Hoe stelt u dit vast? ===
 +
 
 +
Gramps geeft mogelijk aan bij de opstart dat een herstelling nodig kan zijn via een dialoogscherm:
 +
 
 +
Gramps stelde een probleem vast in de onderliggende Berkeley database.
 +
Dit kan hersteld worden via de familiestamboombeheerder.
 +
Selecteer het gegevensbestand en klik op de herstelknop
 +
 
 +
Maar soms is er geen {{man button|Herstel}} knop aanwezig of u ziet deze foutmelding via een terminal
 +
 
 +
(-30975, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: Invalid argument').
 +
 
 +
=== Wat doet u dan? ===
 +
 
 +
Aangeraden is om niet direct op de herstelknop te klikken. Het kan zijn dat dit werkt, maar het kan ook zijn dat Gramps denkt dat er een fout is, maar in werkelijkheid er niets aan de hand is. Wanneer u uw familiestamboom hersteld, kunnen de laatste aanpassingen verloren gaan.
 +
 
 +
Neem een kopie van de familiestamboom die de problemen geeft. Open een terminal en doe:
 +
 
 +
gramps -l
 +
 
 +
Dit commando geeft u een lijst van de familiestambomen en de map waar deze bestanden zijn opgeslagen. Normaal is dit een map in de aard van ~/.gramps/grampsdb. Zie ook naar uw [[Gramps_4.0_Wiki_Manual_-_User_Directory/nl|gebruikersmap]]. Kopieer dan de probleemmap met:
 +
 +
cp -a <doelmap> <kopiemap>
 +
 
 +
Indien de herstelknop aanwezig was, klikt u op de knop. Alles zou normaal moeten werken. Stelt u vast dat er gegevens verloren zijn gegaan of dat de herstelknop toch niet werkte, dan doet u het volgende.
 +
Indien het herstel werkte maar u niet tevreden bent met het resultaat, kunt u opnieuw een kopie maken van deze gegevens en de reservekopie terug op zijn oorspronkelijke plaats zetten.
 +
Zo hebt u opnieuw de corrupte stamboom waar u verder mee kunt werken. Vervolgens kunt u naar de 'bsddb' herstelgereedschappen zoeken. Hiervoor kunt u best de normale pakketbeheerder van uw distributie gebruiken. Het programma is ''db4.x_recover'', waar 4.x een versienummer is. Dit kan hoger of lager zijn. Voor Fedora 17 is dit 'db4-utils-4.8.30-10.fc17'. U kunt nakijken welke ''BSDDB''-version u hebt door naar {{man menu|Hulp -> Over}} dialoo te kijken of met het commando <code> gramps -v</code>.
 +
 
 +
U gebruikt dit gereedschap als volgt:
 +
 
 +
cd /home/<gebruiker>/.gramps/grampsdb/<doelmap>
 +
db4.6_recover -c
 +
 
 +
Dit zou moeten werken en laat Gramps toe om de familiestamboom te laden. Werkt het niet, kunt u best een ''ticket'' starten op de ''gramps bug tracker''.
 +
 
 +
====Windows OS====
 +
 
 +
# download Oracle tools on: http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html
 +
# ...TO_COMPLETE...
 +
 
 +
=== Ik heb nog reserve gpkg-bestanden ===
 +
 
 +
Indien u nog een reservekopie hebt, kunt u deze 'gpkg-bestanden' proberen te herstellen op deze manier:
 +
De procedure om uw gegevens te herstellen via een gbkg-bestand gaat als volgt:
 +
# Kopieer het gpkg-bestand naar een nieuwe map, bijvoorbeeld ''a1111''
 +
# Kopieer name.txt, open het in een nieuwe map en sla de inhoud op met een unieke naam.
 +
# Maak een bestand aan met de naam '''need_recover'''.  Let op de met 'underscore' en zonder bestandsextensie. De inhoud van dit bestand is onbelangrijk.
 +
# Start Gramps, klik op een familiestamboom met de naam die u gebruikte in stap 2. Er zou een rood stopteken bij dit bestand moeten staan. Klik op de {{man button|Herstellen}} knop. Het teken zou nu moeten verdwijnen en u zou opnieuw uw familiestamboom moeten kunnen laden.
 +
 
 +
=== Meer veiligheid inbouwen ===
 +
Uw genealogische gegevens is het resultaat van veel werk en manuren. Dus kunt u best een '''herstelstrategie''' uitwerken.
 +
 
 +
Indien u vaak met Gramps werkt: maak een reservekopie van de map waarin zich de gegevensbestanden met de familiestambomen zich bevinden. Maar dit kunnen zeer grote bestanden zijn.
 +
 
 +
Werkt u integendeel enkel sporadisch met Gramps of hebt u niet de nodige ruimte om uw gegevensbestanden te kopiëren, gebruikt u best het XML-formaat (het .gramps formaat). Maar u mag niet vergeten eerst mogelijke privacy-filters uit te schakelen.
 +
Het XML-formaat kunt u nog over 5 jaar op een andere computer met een ander OS-systeem gebruiken.  Waarschijnlijk is dit niet het geval met het formaat waarin de huidige gegevensbestanden zijn in opgeslagen. XML is door de machine en een mens te lezen. En het formaat is ook op zich zelf staand en ook klein. Dit zijn voorbeelden van goede herstelstrategieën:
 +
 
 +
  1. Exporteer van tijd tot tijd naar XML, zeker na grote veranderingen aan de gegevens.
 +
  2. Exporteer naar XML voor u grote aanpassingen maakt, zoals het importeren van nieuwe gegevens vanuit GEDCOM in een bestaand gegevensbestand of het samenvoegen van gegevens of hulpmiddelen draaien die uw gegevens sterk kunnen veranderen.
 +
  3. Exporteer naar XML voor u naar een nieuwe Gramps-versie overschakelt. Het is belangrijk om uiteraard een XML-export vanuit de oude versie te doen voor u de nieuwe versie installeert!
 +
  4. Exporteer naar XML voor u uw OS opwaardeert.
 +
 
 +
Bovendien gebruikt u best het XML-formaat voor elke gegevensmigratie. Dit kan zijn naar een andere computer, gegevens naar uw oma sturen, gegevens kopiëren naar een andere gebruiker op dezelfde computer -- in al deze situaties gebruikt u best XML omdat er geen specifieke binaire gegevens zijn.
 +
 
 +
Let wel op dat XML geen media-objecten bevat. Het 'gpkg'-formaat daarentegen bevat XML en uw mediabestanden, wat als nadeel heeft de mogelijk zeer grootte omvang. Indien u reeds een goed werkend reservesysteem hebt om uw mediabestanden op te slaan is er eigenlijk geen noodzaak voor de 'gpkg'-bestanden.
 +
 
 +
=== ACI niet ACID, upgrade, downgrade ===
 +
Gramps beschermd uw gegevens door gebruik te maken van een 'ACI'-gegevensbestand. Dit betekent dat de laatste aanpassing kan verloren gaan indien er een fout optreed maar dat de vorige aanpassingen niet verloren zijn. Het is belangrijk voor u een opwaardering van Gramps uitvoert, dat uw familiestamboom correct afgesloten werd.
 +
 
 +
Normaal gezien zou er ook geen fout mogen optreden indien u uw familiestamboom met een nieuwere versie opent. Zie ook de uitgebreide long research in de Engelstalige {{bug|3975}}, van de versie 4.7.25 van Bsddb die een fout bevatte die aanleiding gaf tot rare foutmeldingen.
 +
 
 +
Een familiestamboom in een oudere versie openen, wordt niet ondersteund. U zult dan een foutmelding zien waarin vermeld wordt dat het gegevensbestand werd aangemaakt met een nieuwere versie.
 +
 
 +
== Versie 2.2.x: GRDB corruptie ==
 +
===Wat was de oorzaak?===
 +
De voornaamste oorzaak is het verplaatsen van een 'grdb'-bestand. Indien u dit bestand verplaatst naar een andere map, de bestandsnaam verandert, het bestand kopieert naar een ander bestand, het bestand verplaatst naar een andere computer of een andere gebruiker kunnen de gegevens 'corrupt' worden.
  
 
Hoe komt dit?
 
Hoe komt dit?
  
Het grdb-bestand heeft een gegevensbestandsomgeving nodig -- dit is een map met log-bestanden, slot-bestanden, tijdelijke bestanden enz.
+
Het grdb-bestand heeft een gegevensbestandsomgeving nodig -- dit is een map met log-bestanden, slot-bestanden, tijdelijke bestanden enz. .
 +
 
 +
De huidige stabiele GRAMPS-versie slaat deze bestandsomgeving op in een <code>~/.gramps/env</code> boomstructuur.
 +
 
 +
Stel dat u het grdb-bestand <code>/home/gebruiker/genealogie/MijnGegevens.grdb</code> noemt, dan is de gegevensbestandsomgeving in de <code>/home/gebruiker/.gramps/env/home/gebruiker/genealogie/MijnGegevens.grdb</code> map te vinden.
 +
 
 +
Indien u dus het gegevensbestand verplaatst, kopieert of herbenoemt zullen de gegevens wel verplaatst worden, maar niet de omgeving. Zo geraken de gegevens corrupt.
 +
 
 +
===Wat moet ik nu doen?===
 +
 
 +
Dat hangt er van af of u nog over de correcte omgeving van het gegevensbestand beschikt. Indien u enkel een bestand kopieerde, bestaat de oorspronkelijke omgeving waarschijnlijk nog. Indien u echter het gegevensbestand zelf veranderd hebt, is de kans groot dat de omgeving ook veranderd werd. Hebt u echter de volledige <code>.gramps</code> verwijderd, dan is de hele omgeving verloren.
 +
 
 +
Dus afhankelijk van de situatie moet u onderstaande doen.
 +
 
 +
====De omgeving bestaat nog====
 +
Hebt u nog steeds de omgevingsmap voor het bestand:
 +
 
 +
;Voorbeeld: U kopieerde <code>/home/user/genealogie/MijnGegevens.grdb</code> naar <code>/home/user/genealogie/backup/BackupData.grdb</code> en het nieuwe bestand werkt niet.
 +
;Oplossing: Kopieer de <code>/home/user/.gramps/env/home/user/genealogie/MijnGegevens.grdb</code> map naar <code>/home/user/.gramps/env/home/user/genealogie/backup/BackupData.grdb</code> en het probleem zou verholpen moeten zijn.
 +
 
 +
====De omgeving is verloren====
 +
 
 +
Hebt u de originele omgeving van het bestand niet meer kan u proberen de Berkeley DB gereedschappen te gebruiken. Dit is echter afhankelijk van uw computersysteem. Deze gereedschappen worden gestart met onder andere <code>db_dump</code> en <code>db_load</code>, <code>db41_dump</code> en <code>db41_load</code>, <code>db4.8_dump</code> en <code>db4.8_load</code>. Er zijn nog mogelijkheden, maar er moet steeds een ''dump'' en een ''load'' gereedschap zijn en de versie van de gereedschappen moet 4 of hoger zijn. Hiervoor kunt u best de normale pakketbeheerder van uw distributie gebruiken. Het programma is ''db4-utils'', waar 4.x een versienummer is. Dit kan hoger of lager zijn. Voor Fedora 17 is dit 'db4-utils-4.8.30-10.fc17'
  
De huidige stabiele GRAMPS-versie slaat deze bestandsomgeving op in een <code>~/.gramps/env</code> boomstruktuur.
+
Wat u eigenlijk doet met ''dump'' is dat u het gegevensbestand opslaat in een tekstbestand. Van dit tekstbestand wordt dan een nieuwe <code>grdb>/code>bestand aangemaakt:
  
Stel dat je grdb-bestand <code>/home/gebruiker/genealogie/MijnGegevens.grdb</code> noemt, dan is de gegevensbestandsomgeving in de <code>/home/gebruiker/.gramps/env/home/gebruiker/genealoge/MijnGegevens.grdb</code> map te vinden.
 
  
Indien je dus het gegevensbestand verplaatst, copiëert of herbenoemt zullen de gegevens wel verplaatst worden, maar niet de opmgeving. Zo geraken de gegevens corrupt.
+
    $ db4.6_dump BackupData.grdb > eenbestand.txt
 +
    $ db4.6_load nieuwbestand.grdb < eenbestand.txt
 +
kruis dan uw vingers en hoop dat <code>nieuwbestand.grdb</code> kan geopend worden in Gramps.
  
==What do I do now?==
+
Indien u deze fout ziet:
The answer depends on whether or not you have the environment for that database. If you just copied one file into another then the environment still may work. If you modified the original database since then, then the original environment has chanegd and there's no good environment for the new file. If you removed your <code>.gramps</code> directory (why oh why?) then all environments are lost. So act depending on the situation, as explained below.
 
  
===The environment still exists===
+
db4.4_dump: eidtrans: unsupported hash version: 9
If you have environment directory for that file, copy it under the above gudelines.
 
;Example: You copied <code>/home/user/genealogy/MyData.grdb</code> to <code>/home/user/genealogy/backup/BackupData.grdb</code> and the new file is not working.
 
;Solution: Copy <code>/home/user/.gramps/env/home/user/genealogy/MyData.grdb</code> directory into <code>/home/user/.gramps/env/home/user/genealogy/backup/BackupData.grdb</code> and this should fix the problem.
 
  
===The environment is lost===
+
is dit een aanwijzing dat u een nieuwere versie dient te gebruiken:
If you don't have the original environment for that file, you may try dumping and loading your data using Berkeley DB tools. Depending on your system, they may be called <code>db_dump</code> and <code>db_load</code>, <code>db41_dump</code> and <code>db41_load</code>, <code>db4.4_dump</code> and <code>db4.4_load</code>, or some such. Whatever they are called, there should be be a dump tool and a load tool, and they should be version 4 or later.
+
    $ db4.8_dump BackupData.grdb > somefile.txt
 +
    $ db4.8_load newfile.grdb < somefile.txt
  
Basically, you just dump the grdb into a text file, then create a new grdb from that text file:
+
Opmerking: Indien u uw distributie 'downgrade' hebt, moet u waarschijnlijk ook een lagere versie van de 4.x hulpmiddelen gebruiken en 4.4 of 4.5 installeren.
    $ db4.4_dump BackupData.grdb > somefile.txt
 
    $ db4.4_load newfile.grdb < somefile.txt
 
and then cross your heart and hope that <code>newfile.grdb</code> will open in gramps.
 
  
==How to prevent corruption?==
+
===Hoe een corrupt bestand voorkomen?===
While moving the file is the leading cause of corruption, apparently there are other less frequent causes that we don't fully know. So preventing corruption is not always possible.
+
De hoofdoorzaak is het verplaatsen van het gegevensbestand. Maar er zijn blijkbaar nog een paar andere mogelijke oorzaken, die echter niet zo vaak voorkomen of die we nog niet volledig begrijpen. Daarom is voorkomen beter dan herstellen.
  
What is possible though is to backup the data regularly. The backups should be in XML format (the <code>.gramps</code> format). XML is machine- and human-readable. It is completely self-sufficient. It is also smalll. Following are the good practices of backups:
+
Wat doenbaar is: regelmatig een [[How_to_make_a_backup/nl|reservekopie]] maken. De reservekopies moeten in het [[Nl:Een XML-bestand aanmaken|XML-formaat]] zijn (het <code>.gramps</code> formaat). Vergeet niet de privacy filters uit te schakelen ... XML is leesbaar door mens en machine. Het is bovendien vrij klein en volledig. Doe deze zaken dan ook regelmatig
# Export to XML from time to time, especially after large edits.
+
# Exporteer van tijd tot tijd naar XML zeker wanneer u vele aanpassingen deed.
# Export to XML before making big changes, such as importing new data into an existing database from e.g. GEDCOM; merging records; running tools that may heavily modify the data etc.
+
# Exporteer naar XML voor u grote wijzigingen aanbrengt, zoals het importeren van nieuwe gegevens vanuit bv. GEDCOM in een bestaand gegevensbestand. Of indien u gegevens gaat combineren die de oorspronkelijk gegevens sterk zullen wijzigen
# Export to XML before upgrading gramps to a newer version. Apparently, export to XML with old version before you install the new one!
+
# Exporteer naar XML voor u de Gramps-versie opwaardeert. Natuurlijk doet u dit met de oude versie voor u de nieuwere versie installeert!
# Export to XML before upgrading your OS.
+
# Exporteer naar XML voor u uw OS opwaardeert.
  
Also, use XML format for any data migration. Moving to another machine, sending data to grandma, copying to another user on the same machine -- all of these cases should use XML.
+
Gebruik ook het XML-formaat voor gelijk welke gegevensmigratie naar een andere computer, doorsturen van uw gegevens naar uw grootmoeder, kopiëren van gegevens naar een andere gebruiker op dezelfde computer.... . In al deze gevallen gebruikt u het XML-formaat.
  
 +
{{languages|Recover corrupted family tree|Het herstellen van een corrupt gegevensbestand}}
  
{{languages|Recover corrupted grdb|Herstel corrupte grdb}}
+
[[Category:Nl:Hoe...|Corrupt gegevensbestand]]

Latest revision as of 18:56, 6 January 2013

Gnome-important.png Opmerking over speciale auteursrechten: Alle aanpassingen aan deze pagina vallen onder twee verschillende auteursrechtlicenties:

Deze licenties geven het Gramps-project de maximale vrijheid om het wikihandboek als vrije inhoud voor toekomstige Gramps versies te gebruiken. Indien u niet akkoord gaat met deze dubbele licentie, pas dan de inhoud van deze pagina niet aan. U mag slechts middels externe links (gebruik: [http://www.gramps-project.org/...]) naar andere wikipagina's verwijzen die enkel onder de GFDL licentie vallen, en niet via interne links.
Gebruik daarnaast enkel de bekende conventies.


Uitleg over familiestamboom en corrupte GRDB, hoe de gegevens herstellen en hoe dit te voorkomen.

Corrupte familiestamboom

Wat was de oorzaak? =

Niet bekend. Maar een corrupt gegevensbestand is veel onwaarschijnlijker met de recentere versies van Gramps (> 2.2.x).

Hoe stelt u dit vast?

Gramps geeft mogelijk aan bij de opstart dat een herstelling nodig kan zijn via een dialoogscherm:

Gramps stelde een probleem vast in de onderliggende Berkeley database.
Dit kan hersteld worden via de familiestamboombeheerder.
Selecteer het gegevensbestand en klik op de herstelknop

Maar soms is er geen Herstel knop aanwezig of u ziet deze foutmelding via een terminal

(-30975, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: Invalid argument').

Wat doet u dan?

Aangeraden is om niet direct op de herstelknop te klikken. Het kan zijn dat dit werkt, maar het kan ook zijn dat Gramps denkt dat er een fout is, maar in werkelijkheid er niets aan de hand is. Wanneer u uw familiestamboom hersteld, kunnen de laatste aanpassingen verloren gaan.

Neem een kopie van de familiestamboom die de problemen geeft. Open een terminal en doe:

gramps -l 

Dit commando geeft u een lijst van de familiestambomen en de map waar deze bestanden zijn opgeslagen. Normaal is dit een map in de aard van ~/.gramps/grampsdb. Zie ook naar uw gebruikersmap. Kopieer dan de probleemmap met:

cp -a <doelmap> <kopiemap>

Indien de herstelknop aanwezig was, klikt u op de knop. Alles zou normaal moeten werken. Stelt u vast dat er gegevens verloren zijn gegaan of dat de herstelknop toch niet werkte, dan doet u het volgende. Indien het herstel werkte maar u niet tevreden bent met het resultaat, kunt u opnieuw een kopie maken van deze gegevens en de reservekopie terug op zijn oorspronkelijke plaats zetten. Zo hebt u opnieuw de corrupte stamboom waar u verder mee kunt werken. Vervolgens kunt u naar de 'bsddb' herstelgereedschappen zoeken. Hiervoor kunt u best de normale pakketbeheerder van uw distributie gebruiken. Het programma is db4.x_recover, waar 4.x een versienummer is. Dit kan hoger of lager zijn. Voor Fedora 17 is dit 'db4-utils-4.8.30-10.fc17'. U kunt nakijken welke BSDDB-version u hebt door naar Hulp -> Over dialoo te kijken of met het commando gramps -v.

U gebruikt dit gereedschap als volgt:

cd /home/<gebruiker>/.gramps/grampsdb/<doelmap>
db4.6_recover -c

Dit zou moeten werken en laat Gramps toe om de familiestamboom te laden. Werkt het niet, kunt u best een ticket starten op de gramps bug tracker.

Windows OS

  1. download Oracle tools on: http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html
  2. ...TO_COMPLETE...

Ik heb nog reserve gpkg-bestanden

Indien u nog een reservekopie hebt, kunt u deze 'gpkg-bestanden' proberen te herstellen op deze manier: De procedure om uw gegevens te herstellen via een gbkg-bestand gaat als volgt:

  1. Kopieer het gpkg-bestand naar een nieuwe map, bijvoorbeeld a1111
  2. Kopieer name.txt, open het in een nieuwe map en sla de inhoud op met een unieke naam.
  3. Maak een bestand aan met de naam need_recover. Let op de met 'underscore' en zonder bestandsextensie. De inhoud van dit bestand is onbelangrijk.
  4. Start Gramps, klik op een familiestamboom met de naam die u gebruikte in stap 2. Er zou een rood stopteken bij dit bestand moeten staan. Klik op de Herstellen knop. Het teken zou nu moeten verdwijnen en u zou opnieuw uw familiestamboom moeten kunnen laden.

Meer veiligheid inbouwen

Uw genealogische gegevens is het resultaat van veel werk en manuren. Dus kunt u best een herstelstrategie uitwerken.

Indien u vaak met Gramps werkt: maak een reservekopie van de map waarin zich de gegevensbestanden met de familiestambomen zich bevinden. Maar dit kunnen zeer grote bestanden zijn.

Werkt u integendeel enkel sporadisch met Gramps of hebt u niet de nodige ruimte om uw gegevensbestanden te kopiëren, gebruikt u best het XML-formaat (het .gramps formaat). Maar u mag niet vergeten eerst mogelijke privacy-filters uit te schakelen. Het XML-formaat kunt u nog over 5 jaar op een andere computer met een ander OS-systeem gebruiken. Waarschijnlijk is dit niet het geval met het formaat waarin de huidige gegevensbestanden zijn in opgeslagen. XML is door de machine en een mens te lezen. En het formaat is ook op zich zelf staand en ook klein. Dit zijn voorbeelden van goede herstelstrategieën:

  1. Exporteer van tijd tot tijd naar XML, zeker na grote veranderingen aan de gegevens.
  2. Exporteer naar XML voor u grote aanpassingen maakt, zoals het importeren van nieuwe gegevens vanuit GEDCOM in een bestaand gegevensbestand of het samenvoegen van gegevens of hulpmiddelen draaien die uw gegevens sterk kunnen veranderen.
  3. Exporteer naar XML voor u naar een nieuwe Gramps-versie overschakelt. Het is belangrijk om uiteraard een XML-export vanuit de oude versie te doen voor u de nieuwe versie installeert!
  4. Exporteer naar XML voor u uw OS opwaardeert. 

Bovendien gebruikt u best het XML-formaat voor elke gegevensmigratie. Dit kan zijn naar een andere computer, gegevens naar uw oma sturen, gegevens kopiëren naar een andere gebruiker op dezelfde computer -- in al deze situaties gebruikt u best XML omdat er geen specifieke binaire gegevens zijn.

Let wel op dat XML geen media-objecten bevat. Het 'gpkg'-formaat daarentegen bevat XML en uw mediabestanden, wat als nadeel heeft de mogelijk zeer grootte omvang. Indien u reeds een goed werkend reservesysteem hebt om uw mediabestanden op te slaan is er eigenlijk geen noodzaak voor de 'gpkg'-bestanden.

ACI niet ACID, upgrade, downgrade

Gramps beschermd uw gegevens door gebruik te maken van een 'ACI'-gegevensbestand. Dit betekent dat de laatste aanpassing kan verloren gaan indien er een fout optreed maar dat de vorige aanpassingen niet verloren zijn. Het is belangrijk voor u een opwaardering van Gramps uitvoert, dat uw familiestamboom correct afgesloten werd.

Normaal gezien zou er ook geen fout mogen optreden indien u uw familiestamboom met een nieuwere versie opent. Zie ook de uitgebreide long research in de Engelstalige 3975, van de versie 4.7.25 van Bsddb die een fout bevatte die aanleiding gaf tot rare foutmeldingen.

Een familiestamboom in een oudere versie openen, wordt niet ondersteund. U zult dan een foutmelding zien waarin vermeld wordt dat het gegevensbestand werd aangemaakt met een nieuwere versie.

Versie 2.2.x: GRDB corruptie

Wat was de oorzaak?

De voornaamste oorzaak is het verplaatsen van een 'grdb'-bestand. Indien u dit bestand verplaatst naar een andere map, de bestandsnaam verandert, het bestand kopieert naar een ander bestand, het bestand verplaatst naar een andere computer of een andere gebruiker kunnen de gegevens 'corrupt' worden.

Hoe komt dit?

Het grdb-bestand heeft een gegevensbestandsomgeving nodig -- dit is een map met log-bestanden, slot-bestanden, tijdelijke bestanden enz. .

De huidige stabiele GRAMPS-versie slaat deze bestandsomgeving op in een ~/.gramps/env boomstructuur.

Stel dat u het grdb-bestand /home/gebruiker/genealogie/MijnGegevens.grdb noemt, dan is de gegevensbestandsomgeving in de /home/gebruiker/.gramps/env/home/gebruiker/genealogie/MijnGegevens.grdb map te vinden.

Indien u dus het gegevensbestand verplaatst, kopieert of herbenoemt zullen de gegevens wel verplaatst worden, maar niet de omgeving. Zo geraken de gegevens corrupt.

Wat moet ik nu doen?

Dat hangt er van af of u nog over de correcte omgeving van het gegevensbestand beschikt. Indien u enkel een bestand kopieerde, bestaat de oorspronkelijke omgeving waarschijnlijk nog. Indien u echter het gegevensbestand zelf veranderd hebt, is de kans groot dat de omgeving ook veranderd werd. Hebt u echter de volledige .gramps verwijderd, dan is de hele omgeving verloren.

Dus afhankelijk van de situatie moet u onderstaande doen.

De omgeving bestaat nog

Hebt u nog steeds de omgevingsmap voor het bestand:

Voorbeeld
U kopieerde /home/user/genealogie/MijnGegevens.grdb naar /home/user/genealogie/backup/BackupData.grdb en het nieuwe bestand werkt niet.
Oplossing
Kopieer de /home/user/.gramps/env/home/user/genealogie/MijnGegevens.grdb map naar /home/user/.gramps/env/home/user/genealogie/backup/BackupData.grdb en het probleem zou verholpen moeten zijn.

De omgeving is verloren

Hebt u de originele omgeving van het bestand niet meer kan u proberen de Berkeley DB gereedschappen te gebruiken. Dit is echter afhankelijk van uw computersysteem. Deze gereedschappen worden gestart met onder andere db_dump en db_load, db41_dump en db41_load, db4.8_dump en db4.8_load. Er zijn nog mogelijkheden, maar er moet steeds een dump en een load gereedschap zijn en de versie van de gereedschappen moet 4 of hoger zijn. Hiervoor kunt u best de normale pakketbeheerder van uw distributie gebruiken. Het programma is db4-utils, waar 4.x een versienummer is. Dit kan hoger of lager zijn. Voor Fedora 17 is dit 'db4-utils-4.8.30-10.fc17'

Wat u eigenlijk doet met dump is dat u het gegevensbestand opslaat in een tekstbestand. Van dit tekstbestand wordt dan een nieuwe grdb>/code>bestand aangemaakt:


   $ db4.6_dump BackupData.grdb > eenbestand.txt
   $ db4.6_load nieuwbestand.grdb < eenbestand.txt

kruis dan uw vingers en hoop dat nieuwbestand.grdb kan geopend worden in Gramps.

Indien u deze fout ziet:

db4.4_dump: eidtrans: unsupported hash version: 9

is dit een aanwijzing dat u een nieuwere versie dient te gebruiken:

   $ db4.8_dump BackupData.grdb > somefile.txt
   $ db4.8_load newfile.grdb < somefile.txt

Opmerking: Indien u uw distributie 'downgrade' hebt, moet u waarschijnlijk ook een lagere versie van de 4.x hulpmiddelen gebruiken en 4.4 of 4.5 installeren.

Hoe een corrupt bestand voorkomen?

De hoofdoorzaak is het verplaatsen van het gegevensbestand. Maar er zijn blijkbaar nog een paar andere mogelijke oorzaken, die echter niet zo vaak voorkomen of die we nog niet volledig begrijpen. Daarom is voorkomen beter dan herstellen.

Wat doenbaar is: regelmatig een reservekopie maken. De reservekopies moeten in het XML-formaat zijn (het .gramps formaat). Vergeet niet de privacy filters uit te schakelen ... XML is leesbaar door mens en machine. Het is bovendien vrij klein en volledig. Doe deze zaken dan ook regelmatig

  1. Exporteer van tijd tot tijd naar XML zeker wanneer u vele aanpassingen deed.
  2. Exporteer naar XML voor u grote wijzigingen aanbrengt, zoals het importeren van nieuwe gegevens vanuit bv. GEDCOM in een bestaand gegevensbestand. Of indien u gegevens gaat combineren die de oorspronkelijk gegevens sterk zullen wijzigen
  3. Exporteer naar XML voor u de Gramps-versie opwaardeert. Natuurlijk doet u dit met de oude versie voor u de nieuwere versie installeert!
  4. Exporteer naar XML voor u uw OS opwaardeert.

Gebruik ook het XML-formaat voor gelijk welke gegevensmigratie naar een andere computer, doorsturen van uw gegevens naar uw grootmoeder, kopiëren van gegevens naar een andere gebruiker op dezelfde computer.... . In al deze gevallen gebruikt u het XML-formaat.