Server configuration and management
Firebird comes with two utilities for backing up and restoring your databases: gbak and nbackup.Both can be found in the Firebird installation directory (Windows) or its bin
subdirectory (Linux).Firebird databases can be backed up while users are connected to the system and going about their normal work.The backup will be taken from a snapshot of the database at the time the backup began.
Regular backups and occasional restores should be a scheduled part of your database management activity.
Warning
|
Except in nbackup’s lock mode, do not use external proprietary backup utilities or file-copying tools such as WinZip, |
Important
|
Study the warnings in the next section about database activity during restores! |
More information about gbak
can be found here (HTML and PDF version, same content):
https://www.firebirdsql.org/file/documentation/html/en/firebirddocs/gbak/firebird-gbak.html
https://www.firebirdsql.org/file/documentation/pdf/en/firebirddocs/gbak/firebird-gbak.pdf
The nbackup
manual is here (again same content in HTML and PDF):
The following sections constitute a summary of things not to do if you want to keep your Firebird databases in good health.
Firebird is installed with forced writes (synchronous writes) enabled by default.Modifications are written to disk immediately upon posting.
It is possible to configure a database to use asynchronous data writes — whereby modified or new data are held in the memory cache for periodic flushing to disk by the operating system’s I/O subsystem.The common term for this configuration is forced writes off (or disabled).It is sometimes resorted to in an attempt to improve performance during large batch operations.
The big warning here is: do not disable forced writes on a Windows server.It has been observed that the Windows server platforms do not flush the write cache until the Firebird service is shut down.Apart from power interruptions, there is just too much that can go wrong on a Windows server.If it should hang, the I/O system goes out of reach and your users' work will be lost in the process of rebooting.
Linux servers are safer for running an operation with forced writes disabled temporarily.Still, do not leave it disabled once your large batch task is completed, unless you have a very robust fall-back power system.
One of the restore options in the gbak
utility (gbak -rep[lace_database]
) allows you to restore a gbak file over an existing database.It is possible for this style of restore to proceed without warning while users are logged in to the database.Database corruption is almost certain to be the result.
Note
|
Notice that the shortest form of this command is These changes have been made because many users thought that the |
Warning
|
Be aware that you will need to design your admin tools and procedures to prevent any possibility for any user (including |
If is practicable to do so, it is recommended to restore to spare disk space using the gbak -c
option and test the restored database using isql
or your preferred admin tool.If the restored database is good, shut down the old database (you can use the gfix
command-line tool for this;see Firebird Database Housekeeping Utility (HTML) or Firebird Database Housekeeping Utility (PDF)).Make a filesystem copy of the old database just in case and then copy the restored database file(s) over their existing counterparts.
If you do not block access to users while performing a restore using gbak -rep
then users may be able to log in and attempt to do operations on data.Corrupted structures will result.
The community of willing helpers around Firebird goes a long way back, to many years before the source code for its ancestor, InterBase® 6, was made open source.Collectively, the Firebird community does have all the answers!It even includes some people who have been involved with it since it was a design on a drawing board in a bathroom in Boston.
Visit the official Firebird Project site at https://www.firebirdsql.org and join the user support lists, in particular firebird-support
.Look at https://www.firebirdsql.org/en/mailing-lists/ for instructions.
Use the Firebird documentation index at https://www.firebirdsql.org/en/documentation/.
Visit the Firebird knowledge site at https://www.ibphoenix.com to look up a vast collection of information about developing with and using Firebird.IBPhoenix also sells a Developer CD with the Firebird binaries and lots of documentation.
Order the official three-volume Firebird Book, Second Edition at https://www.ibphoenix.com/products/books/firebird_book, for more than 1200 pages jam-packed with Firebird information.(Notice: at the time of this writing, the Firebird Book is not yet up-to-date with Firebird 3 and higher.)
Read the Release Notes for your Firebird version!
Firebird exists, and continues to be improved, thanks to a community of volunteers who donate their time and skills to bring you this wonderful piece of software.But volunteer work alone is not enough to keep an enterprise-level RDBMS such as Firebird up-to-date.The Firebird Foundation supports Firebird development financially by issuing grants to designers and developers.If Firebird is useful to you, and you’d like to give something back, please visit the Foundation’s pages and consider making a donation or becoming a member or sponsor.