Patent ID: 7363538

Claim:
A method for generating checkpointing information in a database management system comprising the steps of: generating redo information based on transactions processed by the database management system; and in response to generation of a block of redo information, determining whether to take a checkpoint by: determining a cost of recovery using the redo information comprising the steps of: determining a cost of recovery using the redo information from a first checkpoint to a point in time with no checkpoint between the first checkpoint and the point in time, and determining a cost of recovery using the redo information from a first checkpoint to the point in time with a second checkpoint between the first checkpoint and the point in time; determining a cost of taking a checkpoint by: generating an inadvisable interval list over which a checkpoint is not to be taken by: determining an inadvisable checkpoint interval by keeping track of a size of uncheckpointed data contained in a transaction and comparing the size of uncheckpointed data contained in the transaction with a threshold value computed from the user-supplied acceptable delay and acceptable overhead parameters, and inserting an interval relating to the transaction in the inadvisable interval list if the size of uncheckpointed data contained in the transaction exceeds the threshold value, and maintaining the inadvisable interval list as redo records are processed and consumed; receiving a user specification of acceptable recovery delay and acceptable checkpoint overhead; and taking a checkpoint when cost effective to do so based on the cost of recovery using the redo information, the cost of taking the checkpoint and the user-specified acceptable delay and overhead.