- Berkeley DB Reference Guide:
- Access Methods
The DB->close function is the standard interface for closing the database.
By default, DB->close also flushes all modified records from the
database cache to disk.
There is one flag that you can set to customize DB->close:
It is important to understand that flushing cached information
to disk only minimizes the window of opportunity for corrupted data, it
does not eliminate the possibility.
- Do not flush cached information to disk.
While unlikely, it is possible for database corruption to happen if a
system or application crash occurs while writing data to the database. To
ensure that database corruption never occurs, applications must either:
- Use transactions and logging with automatic recovery.
- Use logging and application-specific recovery.
- Edit a copy of the database, and, once all applications
using the database have successfully called DB->close, use
system operations (for example, the POSIX rename system call) to
atomically replace the original database with the updated copy.
Copyright Sleepycat Software