PDA

Ver la Versión Completa : Compactar FireBird


saulpm007
13-10-2004, 03:09:34
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
Textualmente que pasos habria que hacer para lo que tu dices?

AGAG4
28-10-2006, 21:56:26
Checa esto

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
Lo voy a probar hoy mismo gracias

Patricio
30-10-2006, 14:10:05
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
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
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
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
Gracias Tefots cada día se aprende algo nuevo....

rastafarey
03-11-2006, 18:08:00
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
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
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.