Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 23/11/2010 18:28:49
- sylvinhio
- Membre
Erreur lecture bloc table
Bonjour à tous,
J'essaye d'exécuter une opération de maintenace sur une base de données PostgreSQL.
Je suis dans un environnement Windows (XP).
J'obtiens le message d'erreur suivant :
ERREUR : n'a pas pu lire le bloc 3261 de la relation base/109755/110543 : Invalid argument
A quoi est due cette erreur ?
Merci par avance de votre aide.
Cordialement
Sylvinhio
Hors ligne
#2 23/11/2010 18:32:08
- Marc Cousin
- Membre
Re : Erreur lecture bloc table
À une table corrompue (ce qui n'est pas censé arriver).
À priori, il manque des blocs à la fin de cette table. Que s'est il passé pour en arriver là ?
Marc.
Hors ligne
#3 23/11/2010 18:33:58
- sylvinhio
- Membre
Re : Erreur lecture bloc table
Je n'en ai aucun idée...
Je retourne la question
Comment ceci peut-il arriver se produire ?
Merci de ton aide
Hors ligne
#4 23/11/2010 18:36:57
- Marc Cousin
- Membre
Re : Erreur lecture bloc table
Ça peut se produire suite à un crash machine, si le paramètre fsync est à off, par exemple, ou si on a un disque dur qui ment sur les écritures (et se contente de les mettre en cache). Ou un bug du système de fichiers. Ou quelqu'un qui restaure un fichier dans la base, fichier qui se retrouve incohérent avec les index bien sûr à partir de ce moment là.
Il y a pas mal de causes possibles, mais le plus vraisemblable est le système qui ment sur les écritures, surtout avec ce qui doit être un PC du bureau sous XP.
Marc.
Hors ligne
#5 23/11/2010 18:44:14
- sylvinhio
- Membre
Re : Erreur lecture bloc table
"Ou quelqu'un qui restaure un fichier dans la base, fichier qui se retrouve incohérent avec les index"
Nous avons dans notre application un système de sauvegarde / restauration de la base.
Ceci est peut être dû à celà...
Peux-tu m'en dire plus sur ce cas d'erreur ?
Hors ligne
#6 23/11/2010 18:48:26
- Marc Cousin
- Membre
Re : Erreur lecture bloc table
C'est simple: on ne peut pas restaurer individuellement un fichier de la base. Ils ont une cohérence entre eux, tout doit être restauré ensemble.
Par ailleurs, on ne peut pas sauvegarder la base simplement en sauvegardant ses fichiers, sauf si elle est éteinte, ou qu'on respecte la procédure de sauvegarde à chaud décrite dans la documentation.
Marc.
Hors ligne
#7 23/11/2010 18:50:35
- sylvinhio
- Membre
Re : Erreur lecture bloc table
Quand tu parles de fichiers, c'est de fichiers physiques ?
Moi je parle de sauvegarde / restauration par les commandes dump et restore...
Hors ligne
#8 23/11/2010 18:56:31
- Marc Cousin
- Membre
Re : Erreur lecture bloc table
Ah, si c'est par pg_dump, aucun souci non. C'est effectivement dans le cas de sauvegarde des fichiers physiques (c'est ce qu'on utilise quand on veut sauvegarder des très grandes bases).
Marc.
Hors ligne
#9 23/11/2010 19:02:57
- sylvinhio
- Membre
Re : Erreur lecture bloc table
Bon, merci pour toutes ces informations...
Bonne continuation
Hors ligne
Pages : 1