![]() |
Crecimiento anomalo fichero Interbase
Interbase 6.0 instalado sobre un Win2000 y 6 terminales trabajando a tope, el problema esta en el crecimiento del fichero GDB. Si el tamaño es 150MB en un mes de trabajo se duplica a 300MB, realizo un Backup y Restore y se queda en un poco mas 170MB como es lógico. Se realizan muchas consultas. Creo que el problema puede venir por la arquitectura multigeneracional de Interbase, cada vez que hay una consulta, se generan copias de registro, que al final Interbase no elimina.
¿ Como hay que configurar Interbase para solucionar el problema ?. Gracias |
Hola.
Interbase/Firebird debería recuperar ese espacio, al concluir la transacción. ¿ Tienes transacciones que se mantienen abiertas mucho tiempo ?. Si mantienes la transacción abierta mucho tiempo y vas confirmando los cambios con un CommitRetaining en lugar de con un Commit, estás impediendo la recogida de basura, con lo que la base de datos puede crecer desmesuradamente, como comentas. Si es el caso, intenta utilizar algún Commit, cada x tiempo entre los CommitRetaining (o mejor, intenta sustituir los CommitRetaining por Commit). Saludos. |
He cambiado el programa y cada vez que salen de una opción ejecuto un commit. Observo que el fichero aumenta aproximadamente en 2MB cada día, en un mes puede crecer 40MB. Los usuarios realizan mayoritariamente consultas. Se supone que el recolector de basura entra a funcionar cuando ejecuto un commit.
Gracias. |
Hola,
Cita:
Si has seguido las indicaciones de Marc, yo probaría (sobre una copia de la base de datos) a utilizar otra versión de InterBase (la 6.0 no es demasiado confiable), bien Firebird o alguna de las versiones comerciales de IB posteriores a la 6.0: 6.5 o 7.x Saludos. |
puedes hacer un bakup y restore y te evitas ese problema.
Pero tratare de explicarte cual es el problema. Lo que pasa es que interbase trabaja con una cosa que llaman versioning es decir cada quien trabaja sobre una copia del registro y si se van quedando transaciones en el limbo eso es basura. Esta forma por ser tan segura y buena. algo tiene que arriesgar, vez esto ocupa mucho espacio en discopa para poder realizar el control de las transaciones pero si tu le quieres desactivar lo mejor que tiene interbase especificale que no use las transacciones con versioning y trabajas al estilo sqlserver |
Hola,
Cita:
Saludos. |
La franja horaria es GMT +2. Ahora son las 08:41:07. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi