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

From Gramps
Jump to: navigation, search
(Kunnen jullie dat niet oplossen ?)
(Waarom worden de gegevens corrupt?)
Line 11: Line 11:
  
 
==Waarom worden de gegevens corrupt?==
 
==Waarom worden de gegevens corrupt?==
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.
+
De voornaamste oorzaak is het verplaatsen van een grdb-bestand. Indien u dit bestand verplaatst naar een andere map, de bestandsnaam verandert, het bestand kopiëert 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?
Line 19: Line 19:
 
De huidige stabiele GRAMPS-versie slaat deze bestandsomgeving op in een <code>~/.gramps/env</code> boomstruktuur.
 
De huidige stabiele GRAMPS-versie slaat deze bestandsomgeving op in een <code>~/.gramps/env</code> boomstruktuur.
  
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/genealogie/MijnGegevens.grdb</code> map te vinden.
+
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 je dus het gegevensbestand verplaatst, copiëert of herbenoemt zullen de gegevens wel verplaatst worden, maar niet de opmgeving. Zo geraken de gegevens corrupt.
+
Indien u dus het gegevensbestand verplaatst, kopiëert of herbenoemt zullen de gegevens wel verplaatst worden, maar niet de opmgeving. Zo geraken de gegevens corrupt.
  
 
==Wat moet ik nu doen?==
 
==Wat moet ik nu doen?==

Revision as of 06:49, 25 May 2009


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.


Waarom worden de gegevens corrupt?

De voornaamste oorzaak is het verplaatsen van een grdb-bestand. Indien u dit bestand verplaatst naar een andere map, de bestandsnaam verandert, het bestand kopiëert 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 boomstruktuur.

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, kopiëert of herbenoemt zullen de gegevens wel verplaatst worden, maar niet de opmgeving. Zo geraken de gegevens corrupt.

Wat moet ik nu doen?

Dat hangt er van af of u nog over de correcte omgeving van het gegegevensbestand beschikt. Indien u enekel 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.4_dump en db4.4_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.

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.4_dump BackupData.grdb > eenbestand.txt
   $ db4.4_load nieuwbestand.grdb < eenbestand.txt

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

How to prevent corruption?

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.

What is possible though is to backup the data regularly. The backups should be in XML format (the .gramps format). XML is machine- and human-readable. It is completely self-sufficient. It is also smalll. Following are the good practices of backups:

  1. Export to XML from time to time, especially after large edits.
  2. 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.
  3. Export to XML before upgrading gramps to a newer version. Apparently, export to XML with old version before you install the new one!
  4. Export to XML before upgrading your OS.

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.

Kunnen jullie dat niet oplossen ?

Vanaf GRAMPS versie 3.x werd het bestandssysteem volledig herwerkt en wordt nu gebruik gemaakt van de eenvoudigere Familiestamboombeheerder.


Maar de fout DB_RUNRECOVERY kan nog steeds optreden ! Indien dit gebeurd, kan u het volgende proberen:

gramps -l

Om de <doelmap> te vinden in ~/.gramps/grampsdb doet u

cp <doelmap> <reservemap>

Om het oude bestand te herstellen

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