Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-09-2012
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Eliminacion de registros en InterBase

Hola:

Tengo una aplicacion instalada que corre sobre Interbase 6.5, la BD tiene registros desde el 2007, lo que esta provocando que tenga un exceso de registros que me esta poniendo la aplicacion superlenta y dado que lo que interesa son solo 6 meses de respaldo. estoy tratando de darle mantenimiento a la BD, porque la aplicacion no tiene esa opcion. Con Deplhi preparar un programita para elliminarle registros a las 2 tablas mas grandes. Los registros supuestamente se eliminan pero el tamano de la BD sigue igual, es que el borrado es como en DBase o es real. Estoy borrando de la siguiente forma:
Código SQL [-]
delete from mensajes where dia>=:fecha1 and dia<=:fecha2

esperando su atenta respuesta

Saludos
Luis Garcia
Responder Con Cita
  #2  
Antiguo 25-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Poder, puedes borrar así si quieres, pero me asalta una duda ¿cuántos terabytes ocupa la base de datos para que sea lenta?, ¿cuántos trillones de registros tienen esas tablas?.
Te aconsejo que hagas un backup y restore con gbak, hace milagros.
Pero antes desconecta a todo el mundo y haz una copia de la misma.
Después me plantearía cambiar interbase 6.5 (que es de hace ¿12 años?) por firebird.
Responder Con Cita
  #3  
Antiguo 25-09-2012
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Eliminacion de registros en Interbase

Muchas gracias Casimiro por la rapidez y calidad de la respuesta, La BD lo que tiene son 2 GB pero la aplicacion interactua con mapas y otras cosas, lo que hace que se vuelva lenta, ademas esta montada en una PC normal (P4, WXP y 1GB RAM), por lo que estube pensando que la solucion podia estar en quitarle carga a la BD. En cuanto a la migracion para FireBird no se si sera posible porque no tengo fuentes de la aplicacion. Quisiera que me explicara como es el proceso de backup y restore con Gbak porque es la 1ra vez que interactuo con Interbase y no conozco las herramientas de ese entorno.

Saludos
Luis Garcia
Responder Con Cita
  #4  
Antiguo 25-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
En el directorio de interbase/bin debes tener gbak.exe
Y suponiendo que no hayan cambiado el usuario y la clave.
Y suponiendo que los parámetros de interbase sean los mismos que los de firebird (antiguamente eran iguales y esa versión de interbase es antigua).

Primero de todo tienes que estar total y absolutamente seguro de que no hay nadie conectado a la BD.
Debes abrir una ventana de comandos (la consola).
Haz una copia de la BD (por si acaso) copy labasedatos.gdb labasedatos-copia.gdb
Ahora vamos a trabajar sobre la copia para no tocar la original.
Para hacer backup: gbak -b -t -v -user sysdba -password masterkey labasedatos-copia.gdb labasedatos-copia.gbk
Ahora vamos a restaurar el gbk ya limpio: gbak -r -v -p 8192 -user sysdba -password masterkey labasedatos-copia.gbk labasedatos-limpia.gdb
Bien, si no ha ocurrido ningún error, entonces renombramos la BD original para sustituir por esta nueva que tenemos ya limpia de "basura"
Renombramos la BD original: rename labasedatos.gdb labasedatos-ORIGINAL.gdb
(No recuerdo si el comando para renombrar es "rename", en todo caso lo haces de forma gráfica, botón derecho->Renombrar)
Ya sólo nos queda sustituir: rename labasedatos-limpia.gdb labasedatos.gdb
Todos estos pasos no son necesarios ni se trabaja de este modo normalmente, lo he hecho para que no tengas ningún problema en caso de que algo vaya mal, y puedas dejar todo como estaba antes.

Listo, a probar
Responder Con Cita
  #5  
Antiguo 25-09-2012
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Eliminacion de registros en Interbase

Gracias de nuevo Casmiro, hice una prueba con el Gbak y los resultados fueron muy buenos, la BD de 2 GB la llevo a 365 MB por lo que el rendimiento de la aplicacion mejoro considerablemente.

Saludos
Luis Garcia
Responder Con Cita
  #6  
Antiguo 25-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Estupendo
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Eliminacion de duplicado de registros amerika111 Firebird e Interbase 3 01-04-2011 17:27:04
Bloqueo de Registros en Interbase Fita Conexión con bases de datos 3 09-11-2005 16:14:27
ayuda con eliminacion de registros ddd_ddd SQL 3 02-11-2005 21:08:18
Ver registros en Interbase (VIH)Lestat Conexión con bases de datos 2 02-07-2005 00:22:19
Eliminacion fisica de registros en DBF's Francisco Tablas planas 1 04-10-2003 01:41:42


La franja horaria es GMT +2. Ahora son las 04:50:58.


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