Subject Re: [firebird-support] Gbak utility
Author Helen Borrie
At 10:01 PM 29/01/2010, you wrote:
>Hi All,
>I have a question regarding firebird in combination with gbak.
>I created a program to fill an empty database (through embedded firebird) with roughly 150 000 000 records.
>As a last step I set some indices to the database.
>To implement a tool that uses embedded firebird which reads the database from a network share I need to have a read-only database.

1. There aren't any released versions of Firebird that allow a database to live on a Windows network share, read-only or not.

2. The embedded server can't take connections from multiple applications simultaneously.

If you want applications to connect to a database from the network, install Classic server on the actual machine that is hosting the database and have clients connect across the network.

>I do this with the gbak-utility (create backup, and then create read-only database from that backup), but this process seems a bit inefficient.

It's only efficient if your database has a lot of garbage that you don't want to deploy and you want to kill two birds with one stone. If you have done only inserts, there won't be any garbage. Use gfix with the -mode switch to change the attribute if you don't need a backup and restore.

>I assume that the backup made of a database does not contains indices, but these are recreated when creating the database from the backup (this takes about 6 hours with my database).

The index definitions are backed up but the index pages are not. Tables are recreated with their indices in an inactive state. Index building is amongst the last tasks of a restore.