Berkeley DB Reference Guide: Logging Subsystem
Description: Berkeley DB: An embedded database programmatic toolkit.
Keywords: embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++

### Berkeley DB Reference Guide: Logging Subsystem |

# Log file limits

Log file sizes impose a time limit on the length of time a database may be accessed under transaction protection. After that limit is reached, the database needs to be dumped and reloaded (see db_dump and db_load). Unfortunately, the limits may be potentially difficult to calculate.

The log file name consists of log. followed by 10 digits, with a maximum of 2,000,000,000 log files. Consider an application performing 3000 transactions per second, for 24 hours a day, logged into 10MB log files, where each transaction is logging approximately 500 bytes of data. The calculation:

>     (10 * 2^20 * 2000000000) / (6000 * 500 * 365 * 60 * 60 * 24) = ~221

indicates that the system will run out of log file names in roughly 221 years.

There is no way to reset the log file name space in Berkeley DB. If your application is reaching the end of its log file name space, you must:

1. Archive your databases as if to prepare for catastrophic failure (see db_archive for more information).

2. Dump and re-load all your databases (see db_dump and db_load for more information).

3. Remove all of the log files from the database environment (see db_archive for more information).

4. Restart your applications.

Copyright Sleepycat Software