Vous n'êtes pas identifié(e).
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
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
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
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
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
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
Je dispose aussi d'un script d'init de mes deux tables corrompus,
Si j'arrive à faire le DROP tout sera bon pour moi
Hors ligne
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
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