Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   reparar una base datos de firebird 2.0 (https://www.clubdelphi.com/foros/showthread.php?t=74151)

ingabraham 01-06-2011 17:51:35

reparar una base datos de firebird 2.0
 
existe algunas lineas de codigo para reparar una base de datos
de firebird, nose q arregle indixes , rupturas lo q se le danna alas bdatos.

duilioisola 01-06-2011 18:27:14

Sería demasiado presuntuoso decir que las bases Firebird no se reparan, pero es 99% una realidad.

Hacer un Backup y luego un Restore de la base es la mejor forma de "limpiar" una base de datos Firebird.
  1. Copia de la base original
  2. Backup
  3. Restore
  4. Si todo salió bien borra la copia
De todos modos hay una opción para recalcular los índices, la cual no es necesaria excepto en casos muy, muy, muy puntuales.

Normalmente la instalación pone un intervalo de limpieza (sweep interval) de 20.000 transacciones. Esto suele ser suficiente y lo dejas así.
En casos, como por ejemplo, la carga de muuuucha información, puedes quitar este intervalo (sweep interval=0) hacer la carga y luego volver a ponerlo.
Si de todos modos quieres ejecutar un sweep, hay una aplicación que está en el directorio firebird/bin que se llama gfix.

Pero después de todo lo dicho, la mejor forma de que la base vaya bien es haber pensado mucho en su estructura antes de crearla.

ingabraham 01-06-2011 18:38:54

lo que pasa es que no me deja hacer el backup por k tiene errores

Casimiro Noteví 01-06-2011 18:44:57

Y si realmente está dañada y quieres repararla, esto te vendrá bien.

Casimiro Noteví 01-06-2011 18:46:55

Cita:

Empezado por ingabraham (Mensaje 402219)
lo que pasa es que no me deja hacer el backup por k tiene errores

¿Qué errores?.

Lo primero cerrar todas las conexiones a la misma.
Luego de estar seguro de que no hay ninguna conexión abierta a la misma, entonces haz una copia normal "copy bd.fdb bd-original.fdb".
Dejas la copia original sin tocarla, por si acaso y trabajas con la copia para recuperarla.

ingabraham 01-06-2011 18:52:09

Código:

gbak: ERROR:message length error (encountered 78, expected 74)
gbak: ERROR: gds_$receive failed
gbak:Exiting before completion due to errors
El sistema no puede encontrar la ruta especificada.

osea si kiero corregir una bdatos es por k tiene error , este es el error y no me genera el backup.

Casimiro Noteví 01-06-2011 19:15:18

No nos das los datos necesarios, haz una prueba simple:
Crea un directorio temporal y mete allí la base de datos:

Código:

mkdir prueba
cd prueba
copy \dondesea\tubaasedatos.fdb .

luego ejecutas gbak

Cita:

\archivos de programa\firebid\firebird21\bin\gbak -b -t -v -user sysdba -password masterkey tubasedatos.fdb tubasedatos.fbk
Y escribe aquí el mensaje exacto que te sale.

josejp1 09-06-2011 21:22:05

Aquí tienes como hacer un backup y un restore de una base de datos firebird

http://delphimagic.blogspot.com/2008...-firebird.html


La franja horaria es GMT +2. Ahora son las 12:32:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi