Patent ID: 9507841
Filing Date: 2016-11-29
CPC Classification: G06F

Claim Text:
1. In an executing database instance including a plurality of database nodes, a method to create a backup of the executing database instance, comprising: creating a current savepoint in a first database node of the plurality of database nodes by: receiving, at the first database node, an instruction from a coordinator to create the current savepoint, wherein the coordinator is different from a database node; in response to the instruction to create the current savepoint, storing first modified pages of a cache of the first database node in a datastore of the first database node; transmitting, from the first database node to the coordinator, a confirmation after storing the first modified pages; while waiting to receive an instruction to enter a critical phase at the first database node from the coordinator, repeatedly identifying second modified pages of the cache of the first database node and storing the identified second modified pages in the datastore of the first database node; while waiting to receive the instruction to enter the critical phase at the first database node, repeatedly releasing the first modified pages of the cache of the first database node and designating the stored identified second modified pages as a last known good version; receiving the instruction to enter the critical phase and stopping, in response to the instruction to enter the critical phase, the repeated identifying and storing of the second modified pages; blocking updates to the first database node and transmitting a second confirmation; receiving a second instruction at the first database node from the coordinator and, in response to receiving the second instruction: identifying third modified pages of the cache of the first database node where the third modified pages have accumulated in the cache of the first database node during a period between the stopping of the repeated identifying and storing of the second modified pages and the blocking of the updates to the first database node, storing the third modified pages of the cache in a memory buffer, unblocking updates to the first database node, and storing the third modified pages of the memory buffer in the datastore of the first database node; identifying pages associated with the current savepoint and stored in the datastore of the first database node; and storing the pages associated with the current savepoint in a first persistent media.