Pregunta

¿Cómo puedo liberar espacio en la base de datos Firebird 2.1, como lo hacemos en MS Access (descartando los datos borrados, rehacer índice, etc.)?

Hay una manera de hacerlo?

Gracias!

¿Fue útil?

Solución

Por lo general, no hay necesidad de compactar una base de datos Firebird: ver notas de la versión fb sobre la recolección de basura y un funcionamiento automático (configurable por base de datos) denominado "barrido". En pocas palabras, fb vuelve a utilizar el espacio en las páginas cuando se eliminan registros o la versión más antigua registro son liberados pidiendo trozos de espacio en disco sólo cuando el espacio libre se vuelve demasiado pequeña (es decir, menos de un por ciento definido). Barrido se realiza como predeterminado después de un número predefinido de transacciones comprometidas, fresa es una tarea costosa. Copia de seguridad y restaurar debe ser entendida como último recurso para optimizar y reducir el tamaño, ya que este reconstrucciones e índices optimizar también, pero por lo general esto no es necesario, ya que hay comandos y herramientas para reconstruir los índices.

Otros consejos

La única manera de hacerlo es hacer una copia de seguridad y restauración.

Desde el FAQ oficial

Muchos usuarios se preguntan por qué no consiguen su regreso espacio en disco cuando eliminar una gran cantidad de registros de base de datos.

La razón es que es una operación costosa, requeriría una gran cantidad de escrituras en disco y memoria - al igual que hacer una nueva fragmentación de partición del disco duro. Las partes de base de datos (páginas) que fueron utilizados por estos datos se marcan como vacía y Firebird ellos reutilizarán próxima vez que necesita para escribir nuevos datos.

Si el espacio en disco es crítico para usted, usted puede conseguir la parte posterior por el espacio hacer copia de seguridad y restaurar. Puesto que usted está haciendo la copia de seguridad restaurar de inmediato, es aconsejable utilizar la "recolección de basura inhibición" o "no utilice la recolección de basura" interruptor (-G en gbak), lo que hará Ir copia de seguridad mucho más rápido. La recolección de basura se utiliza para limpiar su base de datos, y ya que es una tarea de mantenimiento, a menudo se realiza junto con copia de seguridad (como copia de seguridad tiene que Pasar por toda la base de datos de todos modos). Sin embargo, estás pronto va a deshacerse de ese archivo de base de datos, y no de ningún necesidad de limpiarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top