base de datos
Recuperación de bases de datos
Este documento es una guía de como arreglar una base de datos que haya resultada dañada. Evidentemente no
se tienen garantías de éxito, pero la experiencia nos dice que, en un 80% de los casos, los datos se recuperan sin
mayores problemas. En el otro 20%, lo indicado en esta guia se queda corto y se necesita un poco mas de trabajo. En un 5% de los casos, sobre todo en aquellos en que se ha seguido utilizando el programa varios días a pesar de
los avisos de corrupción en el fichero, no se ha podido recuperar el fichero en absoluto.
La moraleja es simple: Invierta media hora en configurar correctamente un sistema de copias de seguridad, por ejemplo éste, y se ahorrara días enteros de la empresa parada sin saber si los datos podrán recuperarse o si
tendrá que usar la copia de seguridad de hace dos o tres semanas... y la posibilidad de perder los datos es mas
que real!
PASO 1
Como sé que está rota
Se sabe que una base de datos está rota de varias maneras, aunque la UNICA segura es hacer una copia de
seguridad y recuperarla: Si el proceso no da errores, obtenemos una base de datos impecable, y sabemos que la
original no contenía problemas. Normalmente lo sabremos porque el programa da errores al entrar a alguna pantalla, con el texto "consistency
error" o no puede conectarse a la base de datos, o si las copias de seguridad fallan, o, en general, cuando el
programa se comporta extraño.
PASO 2
Pasos previos
Cuando sospechamos que la base de datos está corrupta, sea por la razón que sea, lo importante es intentar solventar el problema CUANTO ANTES, ya que seguir usando el programa con los datos en malas condiciones
agravará la situación y pueden llegar a hacerse totalmente irrecuperables.
Los pasos previos serian estos, en este orden (es importante el orden):
1. Lo PRIMERO es dejar de usar el programa, que TODOS salgan de la aplicación.
2.Todo lo siguiente lo realizaremos desde el servidor, es decir, el ordenador donde físicamente están
grabados esos datos.
3. Localizar el fichero de datos (extensión FDB o GDB, podemos averiguar cual es la carpeta mirando la ruta
que aparece en la ventana de entrada al programa, en la última línea).
4. Cambiarle el nombre al fichero de base de datos, de esta forma, estaremos seguros de que nadie lo está usando (alguien puede haberse dejado el programa minimizado) y también que nadie entrará en el
programa y usará los datos mientras dure el proceso.
5. Hacer una copia del fichero y llamarle ROTA.FDB (en el resto de instrucciones suponemos que el fichero a
reparar se llama así).
6. Crearemos en el disco (del servidor siempre) una carpeta de trabajo que llamaremos SOS, es decir, la ruta
seria "/SOS" y movemos ROTA.FDB a esa carpeta.
7.Puede que necesitemos usar este programa para realizar el proceso. Debemos descomprimirlo en la
carpeta /SOS
8. Como todos los pasos que vienen a continuación se realizan desde la consola de comandos (símbolo del
sistema), abriremos una ventana de comandos. Una vez abierto, escribiremos cd /SOS y pulsaremos la
tecla intro. En la ventana debería quedar /SOS> en la linea donde ahora podemos escribir otros comandos. Bueno, ya tenemos todo listo para intentar arreglar el fichero de datos.
PASO 3
Confirmar que está rota
Lo primero es asegurarnos de que podemos hacer una copia de seguridad y luego recuperarla sin problemas. Si lo
podemos hacer, la copia de los datos que obtenemos estará 100% sana, y el fichero original no contenía errores
importantes. Lo normal de cualquier forma es que una base de datos estropeada de errores en este proceso, así que no
esperemos mucho de esta fase.
En la ventana de consola, escribiremos esto para hacer la copia de seguridad:
gbak -user SYSDBA -password masterkey -mode read_only -b rota.fdb rota.fbk
A continuación volvemos a convertir el fichero FBK en uno FDB usable desde el programa:
GBAK -user SYSDBA...
Regístrate para leer el documento completo.