IBSurgeon home      print      mail        English      Russian       

How to fix error with InterBase pre-6 transactions limitations

In pre-6 versions of InterBase it was a limitation of possible transactions quantity which database can perform in the single backup and restore cycle. The critical number of transactions depends on page size, and has the following values:
Database page sizeCritical number of transactions
1024 byte 131 596 287
2048 byte 265 814 016
4096 byte 534 249 472
8192 byte 1 071 120 384

How to fix this error?

For this you need to install modern version of engine (we recommend Firebird 1.0.x or Firebird 1.5.x). Install it as application to make further actions easier.

After that copy gbak.exe from old InterBase installation to the Bin directory of Firebird, to the name gbak5.exe (for instance).

Then run fbserver.exe as application (command line is "Fbserver.exe -a") and perform backup of corrupted database using (this is a key thing) gbak5.exe:

gbak5.exe -b -g -v -ig -user SYSDBA -pass masterkey Disk:\Path\corrupted.gdb Disk:\Path\backup5.gbk


where Disk:\Path\corrupted.gdb and Disk:\Path\backup5.gbk are appropriate paths to corrupted database and backup file (to be created).
As a result, new engine will open and read database without errors and old gbak5.exe will store data of your database to InterBase 5.x-compatible format (or older).

After that shutdown Firebird (you can remove it now actually) and start InterBase 5 (or older if you have older), and run restore process from its Bin directory using regular gbak.exe from your original version:

gbak.exe -c -v -user SYSDBA -pass masterkey Disk:\Path\backup5.gbk Disk:\Path\good.gdb

That's all, you have healthy database.

Possible complications

Some data (especially most recent records) can be lost during this operation, or additional action may be required to recover transactions pages.
If you have any issues please feel free to contact our support via support@ib-aid.com and we'll help you.
Articles
Recent news

More News