Subject gbak restore without -service switch very slow for db with lots o blobs
Author Stefan Sinne
I have a database of about 23 GB with just one table, storing around
13.000 documents in a blob field.
The backup of this database works fine finishing in less than 20 minutes
and creating a backup file of 22 GB.

But when I try to restore the database with gbak it takes over 10 hours
(when I finally killed the process) using the following command:
/opt/firebird_21_CS/bin/gbak -c -v -p 4096 -user sysdba -pass masterkey
/home/firebird/mydb.gbk localhost/gds_fb21:/home/firebird/mydb.gdb

If I use instead the service manger, like
/opt/firebird_21_CS/bin/gbak -c -v -p 4096 -user sysdba -pass masterkey
-se localhost/gds_fb21:service_mgr /home/firebird/mydb.gbk
/home/firebird/mydb.gdb
the restore needs just 20 minutes.

If I leave the server and servicename out of the first command, like in
'gbak ... /home/firebird/mydb.gbk /home/firebird/mydb.gdb',
the restore works fast as well (I suppose that gbak then behaves as if
the -service switch has been given).

How is it possible to get this big difference between these two ways of
calling gbak?
Is this somehow related to Firebird or do I possibly have an
installation/network problem on my server (OpenSuse 10.2 64 bits).
In the Linux logs I could not find any hint on network problems, but I
am not a real expert in this.

On Windows everything works fine, but on Linux I could reproduce this
problem with Firebird 2.1.3 CS, 2.1.3 SS and 2.0.5 SS.
(to be exact: on SS the restore still took a lot of time when leaving
the server and servicename out of the command,
it just worked well with the -sevice switch).

Thanks for any help.

Stefan