Re: Error en tabla

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Marco Vinicio Jimenez Rojas <viniciojr(at)gmail(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Error en tabla
Date: 2006-09-04 19:36:32
Message-ID: 20060904193632.GQ4586@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Marco Vinicio Jimenez Rojas escribió:
> El día 4/09/06, Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
> >
> >Marco Vinicio Jimenez Rojas escribió:
> >> Saludos lista, tengo el siguiente problema, cuando intento accesar una
> >tabla
> >> me da el errror que dice:[invalid page header in block 280 of relation
> >> "facturas"], con ese error no puedo nisiquiera respaldar la tabla con
> >PGdump
> >> y no se a que se refiere, si alguien me pudira ayudar. trabajo con PGSQL
> >8.1
> >
> >Dice que la tabla esta corrupta. No tienes un respaldo que puedas
> >recuperar?
> >
> Hay un respaldo que tiene como una semana, desde entonces se han ingresado
> bastantes datos, y la verdad los mas importantes en este momento.

1. copia el archivo de la tabla a algun lugar seguro
2. activa zero_damaged_pages usando SET
3. haz vacuum de la tabla
4. saca un respaldo de la tabla
5. examina los datos

lo mas probable es que pierdas algunos datos en el proceso. Por lo
mismo es que debes hacer el paso (1).

> Me gustaria saber por que sucede esto y si existe alguna forma de recuperar.

Tu hardware no debe ser muy bueno quizas ... discos IDE? Has tenido
caidas ultimamente?

> lo que me llama la atencion es que con el PGAdmin yo si puedo ver el
> contenido de la tabla, pero solo eso, es decir puedo ver los datos pero no
> me deja respaldar ni hcaer nada con ellos.

Si tienes suerte, el problema esta en una pagina donde no hay ningun
dato util (y por lo tanto no perderas nada). Si tienes muy mala suerte,
aparecera el mismo problema en otras paginas de la tabla.

Una vez vi un problema parecido donde un "cliente": error al leer una
pagina de una tabla; procedimiento: limpiar la pagina y volver a
intentar. Ok, al segundo intento se puede leer la tabla completamente.
Probemos de nuevo para asegurarnos -- oh! ahora hay otra pagina
corrupta. Limpiar la otra pagina, reintentar; funciona una vez, a la
siguiente aparecen problemas en otra pagina.

Les dije que el RAID en que tenian los datos estaba con problemas. Me
dijeron "muchas gracias" y nunca volvi a saber de ellos ...

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rafael Yordanis Rodríguez Montero 2006-09-04 19:43:29 RE: Experiencias
Previous Message obed 2006-09-04 17:48:16 Re: ultima fila de una consulta