PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 21/03/2013 12:40:50

Canna
Membre

[ERROR] POSTGRES 9.2 catalog is missing 5 attribute for relid 12421

Bonjour à tous,


J'ai un petit soucis sur Postgresql 9.2,

Je crois que j'ai eu une corruption de donnée sur 2 tables d'un schema qui se nomme: ordo12


Schema  |           Name            | Type  |        Owner    
ordo12    | lock_tier                | table | unknown (OID=12481)
ordo12    | jms_start                 | table | unknown (OID=12481)

J'ai voulu essayer de changer le OWNER


alter table ordo12.lock_tier owner to ordo12;

ERROR:  catalog is missing 5 attribute(s) for relid 12421


La même chose avec un drop (pour pouvoir recreer la table plus tard)


drop table ordo12.lock_tier;

ERROR:  catalog is missing 5 attribute(s) for relid 12421


J'ai bien mon tablespace:


ll postgres/data/pg_tblspc/ordo12

16413 -> /u01/app/postgres/tablespaces/ordo12


Le vacuum me dit que j'ai peut être d'autres choses de *****


VACUUM FULL ;

ERROR:  catalog is missing 14 attribute(s) for relid 12564


Pour l'instant ce que je veux faire est réussir un drop de mes deux tables, (si vous avez mieux c'est bien aussi ^^)


Est-ce possible?


Merci pour votre temps!


Canna,

Hors ligne

#2 21/03/2013 16:05:14

SQLpro
Membre

Re : [ERROR] POSTGRES 9.2 catalog is missing 5 attribute for relid 12421

N'auriez vous pas déplacer ou supprimé des fichiers dans le tablespace correspondant à votre base ?

A +


Frédéric Brouard, alias SQLpro,  ARCHITECTE DE DONNÉES,  Expert langage SQL
Le site sur les SGBD relationnel et langage SQL   : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * *  Enseignant CNAM PACA, ISEN Toulon,  CESI Aix en Provence  * * * * *

Hors ligne

#3 22/03/2013 10:10:49

Canna
Membre

Re : [ERROR] POSTGRES 9.2 catalog is missing 5 attribute for relid 12421

Pour tout vous dire...
J'ai découvert ceci il y a peu de temps cependant même les backups sur deux semaines sont déjà corrompus...

Je ne pense pas avoir fait de déplacement / suppression de données dans le tablespace mais cela reste possible... ;/

Canna,

Hors ligne

#4 22/03/2013 13:02:17

gleu
Administrateur

Re : [ERROR] POSTGRES 9.2 catalog is missing 5 attribute for relid 12421

Les objets 12421 et 12564 sont des objets systèmes. À priori, les fichiers ne manquent pas vu que PostgreSQL arrive à les lire. Je pense plutôt à une corruption.

Je suis très étonné par le fait que les backups aussi sont corrompus. Comment constatez-vous leur corruption ?


Guillaume.

Hors ligne

#5 22/03/2013 15:35:55

Canna
Membre

Re : [ERROR] POSTGRES 9.2 catalog is missing 5 attribute for relid 12421

Je viens de mettre un DUMP qu'un collègue m'a envoyé, après l'ajout du dump et un restart du service postgres,

Je n'ai plus les mêmes objet id


drop table ordo12.lock_tier;

ERROR:  catalog is missing 3 attribute(s) for relid 17531


gleu a écrit :

Les objets 12421 et 12564 sont des objets systèmes. .... Comment constatez-vous leur corruption ?

Sur mon backup j'ai déjà la situation suivante:


Schema  |           Name            | Type  |        Owner    
ordo12    | lock_tier                | table | unknown (OID=12481)
ordo12    | jms_start                 | table | unknown (OID=12481)

ERROR:  catalog is missing 3 attribute(s) for relid 17531


Les objets 175xx sont des objets de quel type?


Merci,


Canna,

Hors ligne

#6 22/03/2013 17:35:21

Canna
Membre

Re : [ERROR] POSTGRES 9.2 catalog is missing 5 attribute for relid 12421

Je dispose aussi d'un script d'init de mes deux tables corrompus,

Si j'arrive à faire le DROP tout sera bon pour moi smile

Hors ligne

#7 23/03/2013 00:46:24

gleu
Administrateur

Re : [ERROR] POSTGRES 9.2 catalog is missing 5 attribute for relid 12421

Si on suppose que la base est corrompue et que vous restaurez sur les mêmes disques, il y a de fortes chances que cela ne fonctionne pas. Restaurez sur un autre serveur, sur d'autres disques.

Je n'ai jamais vu de propriétaire "unknown (OID=12481)". Cela indique à coup sûr que PostgreSQL n'est pas capable de retrouver l'utilisateur d'identifiant 12481, ce qui est un nouveau signe de corruption. Je ne sais pas ce qui c'est passé sur cette machine mais votre prochaine action doit être de tenter la restauration sur une autre machine.


Guillaume.

Hors ligne

#8 23/03/2013 00:47:56

gleu
Administrateur

Re : [ERROR] POSTGRES 9.2 catalog is missing 5 attribute for relid 12421

J'oubliais votre deuxième message :

Je dispose aussi d'un script d'init de mes deux tables corrompus,
Si j'arrive à faire le DROP tout sera bon pour moi smile

Clairement pas. Oubliez complètement cette machine, elle est morte et penchez-vous vers vos sauvegardes. Restaurez-les sur une autre machine et vérifiez l'état de de la base une fois restaurée.


Guillaume.

Hors ligne

Pied de page des forums