Subject Re: [firebird-support] Big Database (for me)
Author Helen Borrie
At 03:24 AM 3/06/2008, you wrote:
>Although I have been using Firebird for some years, it has always been
>with small datasets.

Databases. A dataset is the output of a SELECT query.

>I am now writing an application which I estimate will have about a
>20GB dataset.
>I've upgraded to from v1.5 to v2.1 RC2

We don't support beta versions on this list. Why aren't you using the release? In view of another comment, perhaps you're not aware that the official Firebird website is

>with Delphi 2007 using UIB components.

If you haven't upgraded your UIB components you should at least check with the UIB website to ensure you get a version that supports Fb 2.0 and higher. A lot changed in the transition from 1.5.x to 2.x.

>I'm sure some of my questions are dumb but please bear with me.
>The first thing I've noticed is that I have to enclose all my
>fieldnames and tablenames in double quotes, is this new or have I done
>something dumb.

Something dumb - probably the tool you are using to create and alter metadata. If you have object names that are reserved words then yes, they do have to be defined and used with double quotes and they are then case-sensitive. It is not something new: the option to use quoted identifiers has been with Firebird since the beginning. Some very old tools enforced quoted identifiers by default. Most users would tell you that they are a pain in the neck and I'm one of them.

[ Some C programmers think they are the greatest thing since sliced bread, 'cause they can have columns in a table with the "same" name, e.g. "DINGDONG", "dingdong" and "DingDong" could coexist in the same table. Thrilling. ]

If you have created databases that enforce quoted identifiers regardless then you should think seriously about starting over. But, before you start, figure out how to switch off quoted identifiers in the tool you're using. If it's not possible, then get another tool.

>AS far as I can understand from the info on the web I have to split
>the database into 4GB chunks (server is XP), is this correct?

-- No, if you are using NTFS partitions
-- Yes if you are using FAT32 partitions or NTFS partitions that began life on NT 4.

"Info on the web" is pretty vague. The Codegear knowledgebase, for example, reaches back to the days when "Windows" meant Win 3....and NTFS had not even been thought of.

>I created a database with 5 files each of 4GB, how do I backup and
>restore it?

Precise instructions can be found in the OpGuide.pdf book.

>Currently the database has no data in it and the first file is 800mb
>for test purposes and I have tried various switches on GBAK to back it
>up finally succeeding with
>gbak -B -USER SYSDBA -PAS masterkey -T sol:e:/fbdata/cdcache.fdb
>which has produced a 20K .fbk file.
>I tried restoring this to a new directory using
>gbak -C -USER SYSDBA -PAS masterkey -T e:\cdcache.fbk
>e:\test\cdcache.fdb 4000Mb e:\test\cdcache1.fdb 4000Mb
>e:\test\cdcache2.fdb 4000Mb e:\test\cdcache3.fdb 4000Mb
>but it just tells me that there are multiple sources or destinations
>specified. ( I also tried without the directories for the subsequent
>I succeeded with
>gbak -C -USER SYSDBA -PAS masterkey -T e:\cdcache.fbk e:\test\cdcache.fdb
>but as expected this only creates 1 data file.
>Can someone please point me in the right direction?

Well, unless you have the wrong types of partitions you won't need it...but the crusty old OpGuide is still correct about creating, backing up and restoring multi-file databases, for those who want to.