Jump to: navigation, search

Comment je récupère mon arbre familial

3,034 bytes added, 13:31, 4 July 2009
no edit summary
Une tentative pour expliquer une corruption de GRDB, comment récupérer sa base, et comment l'éviter dans le futur.
== Family Tree corruption ==
=== What causes this corruption? ===
Not really known. Database corruption with family trees is however far less likely than with the previous format of storing your family tree Gramps version 2.2.x uses
=== How do you know about it? ===
Gramps might give you on startup that recovery is needed via a dialog box:
GRAMPS has detected a problem in the underlying Berkeley database.
This can be repaired by from the Family Tree Manager.
Select the database and click on the Repair button
But it might happen no Repair button is present, or you obtain the error (visible in terminal)
(-30975, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: Invalid argument').
=== What to do now? ===
It is advisable not to click the repair button right away. It should work, but GRAMPS might believe an error is present while this is in reality not true. Repairing your tree then will lead to loss of the last typed changes.
Instead, take a backup of the family tree that is given problems. In a terminal do:
gramps -l
This will give you a list with all family trees and the directory where they are stored, normally somewhere in the directory ~/.gramps/grampsdb. Copy the directory of the tree with problems so as to have a backup:
cp <target directory> <backup directory>
If the recover button was present on the GRAMPS family tree, click it. All should work again. If you notice you lost information, or the repair button does not work, then do the following.
If recovery worked, but you do not like the result, backup this data and place your backup taken above back in its original position. You now have again the bad family tree to work on. Next, obtain the bsddb recovery tools, see your distributions package search page. The program is called db4.6_recover, where 4.6 might be an older or newer version number.
Run this tool as follows:
cd /home/<user>/.gramps/grampsdb/<target directory>
db4.6_recover -c
That should do the trick, and allow GRAMPS to load the family tree. If not, then start a ticket on the gramps bug tracker.
=== Implement more security ===
Your genealogy data contains a lot of work and man hours. So '''work out a backup scheme'''
If you work on GRAMPS regularly: backup the directory holding the family tree databases. These are very large files however.
If you know you work on GRAMPS sporadically only, or have no space to backup your trees regularly, then do backup in XML format (the .gramps format).
The XML format will open up just fine over 5 years on another computer with another OS. This will probably '''not''' be the case for the databases a family tree is stored in. XML is machine- and human-readable. It is completely self-sufficient. It is also small. The following are 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, as there is no binary specific data.
Note that XML does not contain your media files. The gpkg output format contains XML and your media files, with the disadvantage of this being very large. If you already have a backup scheme for your media files, there is no need to also backup gpkg files.
==GRDB Corruption (2.2.x)==
Aussi, utiliser le format XML pour n'importe quelle migration de données. Déplacer vers une autre machine, envoyer vos données à votre grand-mère, copier vers un autre utilisateur sur la même machine -- dans tous ces cas, vous devriez utiliser XML.
===Quelqu'un pourrait corriger ce problème ? ===
Oui c'est possible ! Dans la version GRAMPS 3.0, cette partie a été complétement [[Database Formats#Family Tree Manager|réécrite]], voir [[Gramps_3.0_Wiki_Manual_-_Manage_Family_Trees/fr#Commencer_un_nouvel_arbre_familial|le gestionnaire d'arbres familiaux]].
Mais un ''DB_RUNRECOVERY'' peut toujours [ arriver] !
Si c'est le cas, vous pouvez essayer :
gramps -l
Pour trouver le <répertoire cible> dans ~/.gramps/grampsdb
cp <répertoire cible> <répertoire sauvegarde>
Pour conserver l'ancienne version
cd /home/<user>/.gramps/grampsdb/<répertoire cible>
db4.6_recover -c
[[Category:Fr:How do I...]]

Navigation menu