Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Compactar FireBird (https://www.clubdelphi.com/foros/showthread.php?t=15170)

saulpm007 13-10-2004 03:09:34

Compactar FireBird
 
Como puedo compactar una base de datos de FireBird..

marcoszorrilla 13-10-2004 07:18:57

Con las utilidades que tienes en la carpeta \bin tienes que hacer una copia de seguridad y luego restaurarla.

Un Saludo.

Patricio 27-10-2006 21:11:11

Pasos a seguir
 
Textualmente que pasos habria que hacer para lo que tu dices?

AGAG4 28-10-2006 21:56:26

Checa esto
Código:

Respaldos mediante Comando GBAK:
**Sintáxis:
  gbak -b -user SYSDBA -password masterkey "192.168.1.2:e:\base.gdb" "c:\copia\base.gbk"
  Comandos:
  -B(ACKUP_DATABASE)    backup database to file
  -BU(FFERS)            override page buffers default
  -C(REATE_DATABASE)    create database from backup file
  -CO(NVERT)            backup external files as tables
  -E(XPAND)            no data compression
  -FA(CTOR)            blocking factor
  -G(ARBAGE_COLLECT)    inhibit garbage collection
  -I(NACTIVE)          deactivate indexes during restore
  -IG(NORE)            ignore bad checksums
  -K(ILL)              restore without creating shadows
  -L(IMBO)              ignore transactions in limbo
  -M(ETA_DATA)          backup metadata only
  -MO(DE) <access>      "read_only" or "read_write" access
  -N(O_VALIDITY)        do not restore database validity conditions
  -NT                  Non-Transportable backup file format
  -O(NE_AT_A_TIME)      restore one table at a time
  -OL(D_DESCRIPTIONS)  save old style metadata descriptions
  -P(AGE_SIZE)          override default page size
  -PAS(SWORD)          Firebird password
  -R(EPLACE_DATABASE)  replace database from backup file
  -RO(LE)              Firebird SQL role
  -SE(RVICE)            use services manager
  -T(RANSPORTABLE)      transportable backup -- data in XDR format
  -USE_(ALL_SPACE)      do not reserve space for record versions
  -USER                Firebird user name
  -V(ERIFY)            report each action taken
  -Y  <path>            redirect/suppress status message output
  -Z                    print version number

//Respaldar
gbak -b -v -t -user sysdba -password masterkey mibasedatos.gdb mibasedatos.gbk

//Restaurar
gbak -r -v -p 8192 -user sysdba -password masterkey mibasedatos.gbk mibasedatos.fdb

Patricio 30-10-2006 13:48:48

Gracias
 
Lo voy a probar hoy mismo gracias

Patricio 30-10-2006 14:10:05

Puede ser?
 
Hola, probe lo que tu me indicabas, el sysdba me lo tomo en mayusculas, pero mi archivo gdb que pesaba 8 mb y un poco mas, despues de hacer el backup restore me ocupa 9mb, a que se puede deber esto?

AGAG4 30-10-2006 16:00:46

Que raro Patricio, porque cada vez que hago un BackUp y un Restore me compacta la Base de Datos considerablemente, ignoro porque en vez de que te disminuya te lo haya aumentado :confused: Quizas alguien del Foro nos comente que pudo haber pasado.

tefots 30-10-2006 16:38:14

Cita:

Empezado por AGAG4
Que raro Patricio, porque cada vez que hago un BackUp y un Restore me compacta la Base de Datos considerablemente, ignoro porque en vez de que te disminuya te lo haya aumentado :confused: Quizas alguien del Foro nos comente que pudo haber pasado.

Al hacer el restore

gbak -r -v -p 8192 -user sysdba -password masterkey mibasedatos.gbk mibasedatos.fdb

le habeis indicado que el tamaño de página va a ser 8192 , por eso la bd ocupa mas. (seguramente , tu bd originalmente tenia un tamaño de página inferior).

en vez de 8192 , ponle 4096 que es el tamaño normal por defecto que hay que usar , veras como al hacer el restore ocupa la mitad.

salud2

Patricio 31-10-2006 15:56:26

Anduvo
 
Si gente anduvo muy bien, lo probe con la misma base y se achico casi 2 mb. Muchas Gracias. Lo que si en mi casa donde quise hacer lo mismo me dice que la base de datos es invalid. Yo creo que puede ser que haya algun problema con el archivo gbak, pero igual no importa porque la puedo compactar aca, pero si a alguien le paso que me avise. Saludos y Gracias

Patricio 31-10-2006 20:14:24

anduvo
 
hoy probe de nuevo lo mismo en mi casa y anduvo lo mas bien, asi que retiro lo dicho, saludos

AGAG4 01-11-2006 20:27:14

Oki
 
Gracias Tefots cada día se aprende algo nuevo....

rastafarey 03-11-2006 18:08:00

A muchos no les va aparecer
 
Lo del tamano del archivo es un acosa que depende que como valla a ser el uso de la base de datos.

Ejemplo si usas una bd que la mayor parte del tiempo solo se le realizan inserciones el tamaño de la pagina debe ser pequeño pero si es lo contrario o se hacen muchas peticiones entoences el tamaño de la pagian deberia ser algo grande. Y si piuedes has una prueba para que veas qeu con solo cambiar el tamaño de la pagina la bd se hace con siderablemente mas gande o mas pequeña. Pero no mas eficiente.

Y segun yo oigase o lease bien SEGUN YO es preferible arriesgar es espacio en disco cosa que hoy no cuesta nada y ganar veleocidad y eficiencia cosa que jamas va atenr precio.

Bueno eso pienso yo.

jachguate 03-11-2006 20:24:30

Cita:

Empezado por rastafarey
Y segun yo oigase o lease bien SEGUN YO es preferible arriesgar es espacio en disco cosa que hoy no cuesta nada y ganar veleocidad y eficiencia cosa que jamas va atenr precio.

Esto está muy bien dicho... estoy con rastafarey.

Hasta luego.

;)

tefots 03-11-2006 22:18:08

Cita:

Empezado por rastafarey
Lo del tamano del archivo es un acosa que depende que como valla a ser el uso de la base de datos.

Ejemplo si usas una bd que la mayor parte del tiempo solo se le realizan inserciones el tamaño de la pagina debe ser pequeño pero si es lo contrario o se hacen muchas peticiones entoences el tamaño de la pagian deberia ser algo grande. Y si piuedes has una prueba para que veas qeu con solo cambiar el tamaño de la pagina la bd se hace con siderablemente mas gande o mas pequeña. Pero no mas eficiente.

Y segun yo oigase o lease bien SEGUN YO es preferible arriesgar es espacio en disco cosa que hoy no cuesta nada y ganar veleocidad y eficiencia cosa que jamas va atenr precio.

Bueno eso pienso yo.

en efecto como bien dices , el tamaño de página hay que elegirlo en funcion de los datos que con los que se valla a trabajar.

para trabajar con registros que contengan por ejemplo blobs con información binaria o archivos gráficos , o registros cuyo tamaño y contenido en datos puede ser elevado , se aconseja usar un tamaño de página mas grande del normal ( de 8192 para arriba) , pero para aplicaciones normales con registros con tamaño dentro de lo normal , es ineficiente usar un tamáño de página tan grande , ya que no aumentas el rendimiento , gastas mas espacio en disco , y el servidor firebird usa mas memoria para para trabajar (justo el doble).

que tengas un tamaño de página mayor , no significa que necesite menos accesos a la bd para leer/escribir la misma información , sino que la información se organiza en bloques de x tamaño , si un bloque no se llena , ocupa lo mismo , (por eso la bd ocupa el doble) , y siempre es mas optimo optimizar el tamaño del registro al tamaño de lo que se va a guardar.

saludos.


La franja horaria es GMT +2. Ahora son las 12:06:28.

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