Autor Tema: Error: invalid page in block 75 of relation  (Leído 641 veces)

0 Usuarios y 1 Visitante están viendo este tema.

ricardopellicer

  • General Guarani
  • *
  • Mensajes: 308
    • Ver Perfil
    • Email
  • Institución: UNSE
  • Nombre y apellido: Ricardo Jose, Pellicer
  • Sistema: SIU-GUARANI
  • Teléfono laboral: 3854501500 INT 1409
  • Utilizo algun sistéma del SIU: Sí
Error: invalid page in block 75 of relation
« : marzo 11, 2019, 11:56:53 am »
Hola, cómo están? hoy quise hacer un pg_dump de la base del guarani3 y me apareció esto:
Código: [Seleccionar]
ERROR:  invalid page in block 75 of relation base/16388/60838
Primera vez que veo algo así... alguna idea de como solventar este dilema?

Mil gracias desde ya! saludos!

Ignacio Bisso

  • Moderador Global
  • *****
  • Mensajes: 240
    • Ver Perfil
    • Email
  • Institución: SIU
  • Nombre y apellido: Ignacio Bisso
Re:Error: invalid page in block 75 of relation
« Respuesta #1 : marzo 11, 2019, 04:07:45 pm »
Hola RIcardo

en primer lugar, ese error deberia estar asociado a una tabla o indice que esta mal, tiene alguna pagina con corrupcion. Por lo tanto, en cuanto puedas trata de recrear la base completa .

otra cosa que te sugiero es tratar de indentificar en que tabla esta el error, de repente podes mandar la salida del pg_dump a un archivo, y cuanto cancele fijarte que tabla estaba procesando en ese momento

Existe un parametro en postgres que le indica que cuando encuentre un error de corrupcion, no corte, sino que de un warning y siga procesando, ese parametro es: zero_damaged_pages. Proba seteandolo en ON a ver si el pg_dump termina. OJO que este parametro ignora la pagina con errores, por lo tanto el pg_dump no va a tener una version completa de la tabla!!! Aqui abajo te pongo la descripcion del parametro


zero_damaged_pages (boolean)
Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting zero_damaged_pages to on causes the system to instead report a warning, zero out the damaged page in memory, and continue processing. This behavior will destroy data, namely all the rows on the damaged page. However, it does allow you to get past the error and retrieve rows from any undamaged pages that might be present in the table. It is useful for recovering data if corruption has occurred due to a hardware or software error. You should generally not set this on until you have given up hope of recovering data from the damaged pages of a table. Zeroed-out pages are not forced to disk so it is recommended to recreate the table or the index before turning this parameter off again. The default setting is off, and it can only be changed by a superuser.


ricardopellicer

  • General Guarani
  • *
  • Mensajes: 308
    • Ver Perfil
    • Email
  • Institución: UNSE
  • Nombre y apellido: Ricardo Jose, Pellicer
  • Sistema: SIU-GUARANI
  • Teléfono laboral: 3854501500 INT 1409
  • Utilizo algun sistéma del SIU: Sí
Re:Error: invalid page in block 75 of relation
« Respuesta #2 : marzo 11, 2019, 05:33:08 pm »
Hola Ignacio, cómo estás? tanto tiempo! Si se de que tabla se trata, es negocio.his_datos_actividades. Realmente es la primera vez que la veo, pues no sabia que existía una que empiece con his... debe ser de historia académica del alumno. Pero en el sistema no hay ningún error. En fin, como puedo hacer para solucionar eso. Me gustaría que quede bien. Se trata de la base de producción.

Saludos!

Ignacio Bisso

  • Moderador Global
  • *****
  • Mensajes: 240
    • Ver Perfil
    • Email
  • Institución: SIU
  • Nombre y apellido: Ignacio Bisso
Re:Error: invalid page in block 75 of relation
« Respuesta #3 : marzo 13, 2019, 10:56:57 am »
Hola Ricardo
Para que esa tabla quede bien, habria que recrearla desde 0... y volver a cargarla.

El asunto es si podes descargar sus datos previamente. Otra complicacion adicional puede ser el manejo de las claves foraneas pudiera tener durante  el proceso de recreacion

saludos

ricardopellicer

  • General Guarani
  • *
  • Mensajes: 308
    • Ver Perfil
    • Email
  • Institución: UNSE
  • Nombre y apellido: Ricardo Jose, Pellicer
  • Sistema: SIU-GUARANI
  • Teléfono laboral: 3854501500 INT 1409
  • Utilizo algun sistéma del SIU: Sí
Re:Error: invalid page in block 75 of relation
« Respuesta #4 : marzo 13, 2019, 01:31:00 pm »
Hola, Ya solucione el problema, para el que tenga el mismo error, hice lo siguiente:

me conecte por psql al servidor y me conecte al esquema
una vez ahí y sabiendo que tabla es la del problema hay que setear el parametro zero_damaged_pages en on

Código: [Seleccionar]
set zero_damaged_pages = on;
y por últmo hacer un vaccum full de la tabla:

Código: [Seleccionar]
vacuum full his_datos_actividades;
con eso se solucione el error, no se si justo el problema que tenía era soluble, si no es soluble supongo que tendrán que eliminar la tabla y volver a crearla.

Ignacio Bisso

  • Moderador Global
  • *****
  • Mensajes: 240
    • Ver Perfil
    • Email
  • Institución: SIU
  • Nombre y apellido: Ignacio Bisso
Re:Error: invalid page in block 75 of relation
« Respuesta #5 : marzo 14, 2019, 12:58:01 pm »
Hola Ricardo,

que bueno que te sirvio haber usado el parametro zero_damaged_pages

saludos
Ignacio