#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2006
    Posts
    25
    Rep Power
    0

    Firebird database corrupted after reaching 2GB


    Our main Firebird database seemed to become corrupted this morning after its file size reach 2GB.

    Does anyone have any advice on how large to let the database grow before considering splitting it across multiple files?

    I'm wondering how large to make each file and if there are any performance differences between a single file and multiple files?

    Unfortunatly we run this on 32bit Windows XP (NTFS). The reason for this is that we have other software that is limited to this platform that needs high data thoughput with our Firebird database.


    Steve

    oh, we run Firebird 2.5 superserver with about 80 connections.
  2. #2
  3. No Profile Picture
    Lost in code
    Devshed Supreme Being (6500+ posts)

    Join Date
    Dec 2004
    Posts
    8,316
    Rep Power
    7170
    I know absolutely nothing about Firebird; however, 2147483647 is the largest number that can be represented by a signed 32-bit integer. 2147483647 bytes is approximately 2GB.

    NTFS does not have a maximum filesize of 2GB, even on a 32-bit system. So the problem with corruption is probably caused by Firebird directly. This would tend to imply that internally it is using a signed 32-bit integer to represent a position within the file. That is something you cannot change except by upgrading to a 64-bit version of Firebird, which cannot run on a 32-bit OS.

    If Firebird supports splitting a database into multiple files that might solve the problem, provided that internally all of its pointers are relative to the individual files and not the database as a whole. In that case, 2147483647 bytes is theoretically the maximum size for any one database file, but in practice you would probably want to decrease that a bit to have some extra wiggle room.
    PHP FAQ

    Originally Posted by Spad
    Ah USB, the only rectangular connector where you have to make 3 attempts before you get it the right way around
  4. #3
  5. Bug Hunter
    Devshed Newbie (0 - 499 posts)

    Join Date
    May 2003
    Location
    Transylvania (Romania)
    Posts
    309
    Rep Power
    24

    Question Firebird does have support for 64bit IO for windows from version 1.0


    Originally Posted by srayner
    Our main Firebird database seemed to become corrupted this morning after its file size reach 2GB.

    Does anyone have any advice on how large to let the database grow before considering splitting it across multiple files?

    I'm wondering how large to make each file and if there are any performance differences between a single file and multiple files?

    Unfortunatly we run this on 32bit Windows XP (NTFS). The reason for this is that we have other software that is limited to this platform that needs high data thoughput with our Firebird database.


    Steve

    oh, we run Firebird 2.5 superserver with about 80 connections.
    Are you sure that is not a FAT partition ? because Firebird does have support for 64bit IO for windows from version 1.0
    http://www.ibphoenix.com/resources/documents/general/doc_69

    Also what is the error log for firebird ?
    My home page: http://www.firebirdsql.org and work place :http://www.reea.net
  6. #4
  7. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2006
    Location
    Plovdiv. Bulgaria
    Posts
    226
    Rep Power
    13
    I'm working with databases larger than 2gb on 32 bits Windows and teere are no problems with them.
  8. #5
  9. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2006
    Posts
    25
    Rep Power
    0
    Originally Posted by mariuz
    Are you sure that is not a FAT partition ? because Firebird does have support for 64bit IO for windows from version 1.0
    http://www.ibphoenix.com/resources/documents/general/doc_69

    Also what is the error log for firebird ?
    Only thing in the log is

    TSC001 (Server) Thu Feb 21 09:21:51 2013
    INET/inet_error: read errno = 10054

    We see these errors quite a bit, sometime two or three times a day, then sometimes we don't see any for several weeks.

    After backup and restore the database is currently at 1.3GB and growing. I could just leave it and see if it has the same problem when it reaches 2GB again.

IMN logo majestic logo threadwatch logo seochat tools logo