IP Library Granted Patent US 10,216,588
Granted Patent B2
US 10,216,588 · App. 15/358,489 · Granted Feb 26, 2019

Database system recovery using preliminary and final slave node replay positions

Inventor: Martin Brunzema (Berlin, DE)
Assignee: SAP SE
G06F11/1471G06F2201/80G06F2201/805G06F2201/82
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,216,588
App. No.
15/358,489
Granted
Feb 26, 2019
Kind
B2
Abstract

Technologies are described for facilitating database system recovery in a distributed database environment having a master node and at least one slave node. The at least one slave node receives a preliminary slave log backup position. The at least one slave node replays at least a portion of one or more log backups until the preliminary log backup position is reached. The at least one slave node receives a final slave log backup position. The slave node replays at least a portion of one or more log backups until the final slave log backup position is reached.

Claims (42)

1. One or more non-transitory computer-readable storage media storing computer-executable instructions for causing a computing system to perform processing to carry out a database recovery at a slave database system node, the slave node in communication with a master node, the processing comprising:

receiving a preliminary slave log backup position from a backup manager;

replaying at least a portion of one or more log backups until the preliminary slave log backup position is reached;

receiving a final slave log backup position; and

replaying at least a portion of one or more log backups until the final slave log backup position is reached.

2. The one or more non-transitory computer-readable storage media of claim 1 , wherein the final slave log backup position is received from a master node.

3. The one or more non-transitory computer-readable storage media of claim 2 , wherein replaying one or more log backups until the preliminary slave log backup position is reached is carried out without coordination with a master node.

4. The one or more non-transitory computer-readable storage media of claim 1 , wherein replaying one or more log backups until the preliminary slave log backup position is reached is carried out without coordination with a master node.

5. The one or more non-transitory computer-readable storage media of claim 1 , wherein replaying one or more log backups until the preliminary slave log backup position is reached is carried out without waiting for a master node.

6. The one or more non-transitory computer-readable storage media of claim 1 , the processing further comprising:

loading a full database backup prior to carrying out the replaying processes.

7. The one or more non-transitory computer-readable storage media of claim 6 , the processing further comprising:

loading one or more delta backups prior to carrying out the replaying processes.

8. The one or more non-transitory computer-readable storage media of claim 1 , the processing further comprising:

loading one or more delta backups prior to carrying out the replaying processes.

9. A method, implemented at least in part by a master node comprising a processing unit and memory, the master node being in communication with at least one slave node, for facilitating database system recovery within a database environment, the method comprising:

receiving a recovery point;

loading one or more delta backups;

after loading the one or more delta backups, replaying at least a portion of one or more log backups until the recovery point is reached;

determining a slave log backup position associated with the recovery point; and

sending the slave log backup position to the at least one slave node.

10. The method of claim 9 , further comprising:

loading a full database backup prior to carrying out the replaying.

11. The method of claim 9 , wherein the recovery point is received from a backup manager.

12. The method of claim 9 , wherein the master node does not coordinate with the at least one slave node during the replaying.

13. The method of claim 9 , wherein determining the slave log backup position associated with the recovery point comprises identifying a distributed transaction involving the at least one slave node occurring most recently to the recovery point.

14. The method of claim 13 , wherein determining the slave log backup position associated with the recovery point comprises determining the slave log backup position associated with the distributed transaction.

15. The method of claim 9 , wherein the replayed at least a portion of one or more log backups comprises information in the loaded one or more delta backups.

16. A server comprising a processing unit and memory, wherein the server is configured to operate a backup manager of a distributed database system, the backup manager being in communication with a master node and one or more slave nodes, and further configured to perform a method for facilitating database system recovery, the method comprising:

calculating a preliminary backup log position for at least one of the one or more slave nodes; and

sending the preliminary backup log position to the at least one of the one or more slave nodes.

17. The server of claim 16 , the method further comprising:

receiving a backup notification from the master node;

associating the backup notification with a system status identifier;

determining at least one slave log position for at least one of the one or more slave nodes;

associating the at least one slave log position with the backup notification; and

storing the backup notification, associated system status identifier, and associated at least one slave log position.

18. The server of claim 17 , wherein the system status identifier comprises a youngest commit time of log entries associated with the backup notification.

19. The server of claim 16 , wherein calculating the preliminary backup log position for the at least one of the one or more slaves nodes comprises:

determining a most recent log backup in a backup catalog that will be replayed entirely during system recovery; and

determining a most recent slave log position associated with the most recent log backup.

20. The server of claim 19 , wherein determining the most recent log backup comprises determining a log backup that precedes a log backup comprising a log entry associated with a recovery time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2016
From: BRUNZEMA, MARTIN
To: SAP SE
Reel/Frame 040400/0826 →
Continuity (1)
Related Publication 20180143884A1 · May 24, 2018