IP Library Granted Patent US 11,263,238
Granted Patent B2
US 11,263,238 · App. 15/704,926 · Granted Mar 1, 2022

Extending a database recovery point at a disaster recovery site

Inventor: James L. Whisenant (Austin, TX)
Assignee: BMC Software, Inc.
G06F16/284G06F11/1658G06F11/2038G06F16/174G06F16/185G06F16/2308G06F11/2028G06F11/2048G06F2201/80
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 11,263,238
App. No.
15/704,926
Granted
Mar 1, 2022
Kind
B2
Abstract

A DBA may pre-generate database recovery jobs on a convenient schedule at a local site, then recover a database at a disaster recovery site. Archive log files for the database that are generated in the interim between recovery job generation and recovery job execution are automatically incorporated into the recovery job when it executes, extending the recovery point closer to the time of the disruption that triggered the need or desire for recovery.

Claims (59)

1. A method comprising:

generating a first phase of a database recovery job, wherein the database recovery job is a single database recovery job having multiple phases, the first phase including executable statements for:

configuring a database management system using a database control file that identifies a first archive log associated with a conditional restart point, the first archive log being generated prior to generating the first phase,

automatically determining whether additional archive logs were generated subsequent to the database recovery job and, responsive to determining that the additional archive logs were generated subsequently, automatically extending the conditional restart point by adding the additional archive logs to the database control file;

automatically calculating a recovery point by traversing the additional archive logs to select an end point from a most recent archive log from the additional archive logs; and

setting the conditional restart point to the recovery point;

generating a second phase of the database recovery job, the second phase including executable statements for recovering data using the database control file;

transporting the database recovery job to a computing device at a recovery site;

generating the additional archive logs; and

transporting the additional archive logs to a computing device at the recovery site,

wherein the computing device at the recovery site executes the database recovery job, which adds the additional archive logs to the database control file prior to executing the second phase.

2. The method of claim 1 , wherein the executable statements are Job Control Language statements.

3. The method of claim 1 , wherein the conditional restart point represents a relative byte address.

4. The method of claim 1 , wherein the database recovery job is a first database recovery job for a first member of a data sharing group and the method further comprises generating a second recovery job for a second member of the data sharing group, the second recovery job including executable statements for:

configuring the database management system using the database control file that identifies the first archive log associated with the conditional restart point on the second member of the data sharing group;

signaling to the first database recovery job that the configuring is complete;

determining whether the first database recovery job has finished extending the conditional restart point; and

responsive to determining that the first database recovery job has finished extending the conditional restart point, recovering data on the second member of the data sharing group using the database control file.

5. The method of claim 1 , wherein the database recovery job is a first database recovery job for a first member of a data sharing group and the method further comprises generating a second database recovery job for a second member of the data sharing group, the second database recovery job including executable statements for:

initializing a flag in a file accessible to the first database recovery job to a value indicating that a first portion of the first phase of the second database recovery job on the second member is not complete;

configuring the database management system using the database control file that identifies the first archive log associated with the conditional restart point on the second member of the data sharing group;

setting, subsequent to the configuring, the flag to a value indicating the first portion of the first phase is complete;

determining whether the flag has a value indicating the first database recovery job has finished extending the conditional restart point; and

responsive to determining the flag has a value indicating the first database recovery job has finished extending the conditional restart point, recovering data on the second member as part of a second phase of the second database recovery job,

wherein at the recovery site, the computing device is a first member of a data sharing group that includes at least a second member, and the second database recovery job is executed by the second member.

6. The method of claim 1 , wherein extending the conditional restart point includes:

generating commands for execution by a utility of the database management system; and

initiating execution of the utility after generating the commands.

7. The method of claim 1 , wherein, extending the conditional restart point includes, prior to adding the additional archive logs to the database control file:

deleting archive logs from the database control file;

adding active archive logs, including the first archive log, to the database control file; and

deleting an oldest archive log from the database control file.

8. A method comprising:

receiving a pre-generated database recovery job, wherein the pre-generated database recovery job is a single pre-generated database recovery job having multiple phases, the pre-generated database recovery job including executable statements configured to recover a database system from a least a first archive log;

receiving additional archive logs subsequent to receiving the pre-generated database recovery job; and

executing the pre-generated database recovery job, the pre-generated database recovery job performing operations including:

determining whether any archive logs were received subsequent to generation of the pre-generated database recovery job,

adding, responsive to determining the additional archive logs were received subsequent to generation of the pre-generated database recovery job, the additional archive logs to a database control file,

automatically calculating a recovery point by traversing the additional archive logs to select an end point from a most recent archive log from the additional archive logs;

setting a conditional restart value to the recovery point; and

initiating executable statements in the pre-generated database recovery job to recover the database system using the database control file and the conditional restart value.

9. The method of claim 8 , the operations further including:

starting the database system in maintenance mode prior to initiating the executable statements in the pre-generated database recovery job to recover the database system.

10. The method of claim 8 , wherein adding the additional archive logs to the database control file and setting the conditional restart value includes:

generating commands for execution by a utility of the database system; and

executing the utility after generating the commands.

11. The method of claim 8 , wherein an updated database control file is received with the additional archive logs and adding the additional archive logs to the database control file includes:

replacing the database control file with the updated database control file; and

adding the additional archive logs to the database control file.

12. The method of claim 11 , wherein adding the additional archive logs to the database control file further includes:

adding active archive log files, including the first archive log, to the database control file.

13. The method of claim 8 , wherein the database system is a DB2 database system and the database control file is a Boot Strap Data Set (BSDS).

14. The method of claim 8 , wherein the pre-generated database recovery job includes a first phase and a second phase, the recovering occurring in the second phase and the determining, adding, and setting occurring at the end of the first phase.

15. The method of claim 8 , wherein the conditional restart value is a relative byte address.

16. The method of claim 8 , wherein the database system is a DB2 database system and the conditional restart value is set using a CRESTART statement.

17. The method of claim 8 , wherein the pre-generated database recovery job includes a first job corresponding to a first member of a data-sharing group of computer systems and a second job corresponding to a second member of the data-sharing group, the determining, adding, and setting occurring in the first job and the first job further performing operations including initiating executable statements in the second job to recover the database system on the second member.

18. The method of claim 17 , wherein the first job and the second job each include a first phase and a second phase, the first phase having a first portion and a second portion, the recovering occurring in the second phase and the determining, adding, and setting occurring during the second portion of the first phase and wherein the first job further performs operations including:

determining whether the second member has completed the first phase before determining that the additional archive logs were received subsequent to generation of the first job.

19. The method of claim 8 , wherein the pre-generated database recovery job is a collection of Job Control Language statements.

Assignments (13)
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Jun 22, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046176/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2017
From: WHISENANT, JAMES L.
To: BMC SOFTWARE, INC.
Reel/Frame 044325/0021 →
Continuity (2)
Continuation 12628155 · Nov 30, 2009
Related Publication 20180075127A1 · Mar 15, 2018