The CHECKPOINT_FLUSH server configuration keyword controls the aging of updated buffers based on the number of checkpoints that have occurred since the buffer was last flushed.
CHECKPOINT_FLUSH <num_chkpnts> sets the maximum number of checkpoints to be written before a data or index cache page holding an image for a transaction controlled file is flushed. Increasing this value avoids repeated flushing of updated cache pages that may occur in a system that maintains high transaction rates. When CHECKPOINT_FLUSH is increased, FairCom DB automatically detects the reliance on previous transaction logs and increases the active log count as needed.
The following formula estimates the number of logs required to support unwritten updated cache pages:
CPF = CHECKPOINT_FLUSH value
CPL = # of checkpoints per log (typically 3 and no less than 3)
MNL = minimum # of logs to support old pages
MNL = ((CPF + CPL - 1) / CPL) + 2, where integer division is used
Note: FairCom DB does not use this formula. It dynamically adjusts for actual “recovery vulnerability” to determine exactly what logs are required for recovery.
CPF=2, CPL=3 => MNL = 3 (but the server enforces a minimum of 4)
CPF=19, CPL=3 => MNL = 9 active transaction logs