Subject | Re: [firebird-support] Shrink Firebird (Urgente) |
---|---|
Author | Ann W. Harrison |
Post date | 2006-06-30T18:25:39Z |
Kurt Schneider wrote:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&l=;PAGES;NAME='ibp_expert6'
Essentially, the internal database structure is based on page numbers
and page numbers are offsets within the file. Compressing the file
would change the offsets, requiring rebuilding the internal structure -
indexes, pointer pages, page inventory pages, the RDB$PAGES table, and
record back and fragment pointers. The work involved is comparable to
a backup/restore and would have to be done standalone.
However archaic it may seem, backup/restore is right answer. But
maybe you're asking the wrong question.
Why do you think your database is too big? Remember, a Firebird
database includes the equivalent of undo/redo logs. Is the Firebird
database actually bigger than the equivalent if you include all the
extra space necessary for recovery logs?
Regards,
Ann
>Have a look here for an explanation of why the problem is hard:
> I'm incessant search of functionally for shrink firebird database, the same
> idea is implemented in Sql Server, Oracle etc.
http://www.ibphoenix.com/main.nfs?a=ibphoenix&l=;PAGES;NAME='ibp_expert6'
Essentially, the internal database structure is based on page numbers
and page numbers are offsets within the file. Compressing the file
would change the offsets, requiring rebuilding the internal structure -
indexes, pointer pages, page inventory pages, the RDB$PAGES table, and
record back and fragment pointers. The work involved is comparable to
a backup/restore and would have to be done standalone.
However archaic it may seem, backup/restore is right answer. But
maybe you're asking the wrong question.
Why do you think your database is too big? Remember, a Firebird
database includes the equivalent of undo/redo logs. Is the Firebird
database actually bigger than the equivalent if you include all the
extra space necessary for recovery logs?
Regards,
Ann