IP Library Granted Patent US 9,767,181
Granted Patent B2
US 9,767,181 · App. 12/628,155 · Granted Sep 19, 2017

Extending a database recovery point at a disaster recovery site

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 9,767,181
App. No.
12/628,155
Granted
Sep 19, 2017
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 (81)

1. A system, comprising:

a first computing device at a first site, the first computing device including:

at least one processor, and

memory storing instructions that when executed at the first computing device cause the first computing device to perform operations including:

pre-generating a database recovery job including Job Control Language (JCL) for a first phase to configure a database management system of the database and JCL for a second phase to recover the data of the database;

transporting the database recovery job to a second site,

generating an archive log after the act of generating the recovery job, the recovery data comprising at least one database archive log generated after the act of generating the database recovery job, and

transporting the database archive log to the second site; and

a second computing device at the second site, the second computing device including:

at least one processor; and

memory storing instructions that, when executed at the second computing device cause the second computing device to perform operations including:

receiving the database recovery job,

receiving the archive log, and

executing the database recovery job to recover the database at the second site to an extended recovery point by modifying, during the first phase, a control file for the database to recognize the database archive log.

2. The system of claim 1 , wherein the generating the recovery job comprises:

generating a first job corresponding to a first member of a data-sharing group of computer systems at the first site; and

generating a second job corresponding to a second member of the data-sharing group.

3. The system of claim 2 ,

wherein the act of generating a first job comprises:

generating instructions to extend a database recovery point to the extended recovery point, after execution of a first portion of the second job; and wherein the act of generating a second job comprises:

generating instructions to indicate execution of the first portion of the second job to the first job.

4. The system of claim 2 ,

wherein the act of generating a first job comprises:

generating instructions to extend a database recovery point determined during the act of generating the first job to the extended recovery point;

generating instructions to signal the second job to perform a second portion of the second job responsive to the act of extending a database recovery point; and

wherein the act of generating a second job comprises:

generating instructions to perform the second portion of the second job when signaled by the first job.

5. The system of claim 1 , wherein the database is a DB2 database and the control file is a BootStrap data set (BSDS):

generating instructions to calculate a conditional restart point at the extended recovery point corresponding to the database archive log; and

generating instructions to update a bootstrap dataset to indicate the conditional restart point and the database archive log.

6. The method system of claim 1 , wherein executing the second phase of the database recovery job occurs after executing the first phase and starting the database in maintenance mode.

7. The method system of claim 1 , wherein generating the recovery job comprises:

generating instructions to determine a plurality of end points, each corresponding to an end point of a last archive log corresponding to each member of a data-sharing group;

generating instructions to determine an oldest end point of the plurality of end points; and

generating instructions to set a conditional restart point in the control file to the oldest end point.

8. The method system of claim 1 , wherein the recovery job includes:

instructions to replace the control file a bootstrap dataset; and

instructions to modify a conditional restart point in the control file with a conditional restart point corresponding to the extended recovery point.

9. A method, comprising:

receiving, at a computer system of a recovery site, a pre-generated database recovery job to recover a database, the database recovery job being pre-generated on a periodic basis, the database recovery job including Job Control Language (JCL) for a first phase to configure a database management system of the database and JCL for a second phase to recover data of the database;

receiving, at the computer system, a database archive log generated after the pre-generated database recovery job; and

executing the pre-generated database recovery job on the computer system to recover the database to a recovery point corresponding to the database archive log by modifying, during the first phase, a control file for the database to recognize the database archive log.

10. The method of claim 9 , wherein the act of executing the pre-generated database recovery job is performed by a computer system of a first member of a data-sharing group.

11. The method of claim 9 ,

wherein the act of receiving a pre-generated database recovery job comprises: receiving a first pre-generated database recovery job configured for execution by a first member of a data-sharing group of computer systems; and

receiving a second pre-generated database recovery job configured for execution by a second member of a data-sharing group of computer systems; and

wherein the act of executing the pre-generated database recovery job comprises: extending a first recovery point determined during generation of the first pre-generated database recovery job to the recovery point corresponding to the database archive log by the first pre-generated database recovery job; and

recovering the database to the recovery point corresponding to the database archive log by the first pre-generated recovery job and the second pre-generated recovery job.

12. The method of claim 11 , wherein the act of executing the pre-generated database recovery job further comprises:

coordinating the execution of the first pre-generated database recovery job on a first computer system of the first member of the data-sharing group and the execution of the second pre-generated database recovery job on a second computer system of the second member of the data-sharing group.

13. The method of claim 12 , wherein the act of coordinating the execution of the first pre-generated database recovery job on a first computer system of the first member of the data-sharing group and the execution of the second pre-generated database recovery job on a second computer system of the second member of the data-sharing group comprises:

delaying extension of the first recovery point by the first pre-generated recovery job until the execution of a first portion of the second pre-generated recovery job; and

delaying execution of a second portion of the second pre-generated recovery job until extension of the first recovery point by the first pre-generated recovery job.

14. The method of claim 12 , wherein the act of coordinating the execution of the first pre-generated database recovery job on a first computer system of the first member of the data-sharing group and the execution of the second pre-generated database recovery job on a second computer system of the second member of the data-sharing group comprises:

executing a first portion of the second pre-generated job to prepare the second member for extension of the first recovery point;

signaling to the first pre-generated recovery job by the second pre-generated job that the second member of the data-sharing group is ready for extension of the first recovery point by the first pre-generated recovery job;

signaling to the second pre-generated recovery job by the first pre-generated job that the first pre-generated recovery job has extended the first recovery point; and

executing a second portion of the second pre-generated job to recover the database on the second member of the data-sharing group.

15. The method of claim 11 , wherein the act of extending a first recovery point determined during generation of the first pre-generated database recovery job to the recovery point corresponding to the database archive log by the first pre-generated database recovery job comprises:

determining a type of archiving performed for the database;

performing a first set of acts if the type of archiving is of a first type, comprising:

replacing the control file;

calculating the recovery point corresponding to the database archive log;

updating the control file with the recovery point corresponding to the database archive log; and

updating the control file with information corresponding to the database archive log; and

performing a second set of acts if the type of archiving is of a second type, comprising:

reading a history file;

calculating the recovery point corresponding to the database archive log;

updating the control file with the recovery point corresponding to the database archive log; and

updating the control file with information corresponding to the database archive log.

16. The method of claim 15 , wherein the act of extending a first recovery point determined during generation of the first pre-generated database recovery job to the recovery point corresponding to the database archive log by the first pre-generated database recovery job further comprises:

deleting older archive logs from the control file.

17. A tangible computer-readable storage device with instructions for a programmable control device stored thereon wherein the instructions cause a programmable control device to perform the method of claim 9 .

18. The method of claim 9 , wherein modifying the control file includes:

determining the archive log is a first archive type;

replacing existing control file with a most recent database control file from the archive log; and

setting a conditional restart point to a time of an end point for the archive log file.

19. The method of claim 9 , wherein the first phase executes when the database is stopped and the second phase executes after the database has been re-started in a maintenance mode.

20. A networked computer system comprising:

a plurality of computers communicatively coupled, at least one of the plurality of computers programmed to perform the method of claim 9 .

21. A tangible computer-readable storage device with instructions for a programmable control device stored thereon wherein the instructions cause a programmable control device to perform the method of claim 9 .

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 (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 →
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 →
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 052844/0646 →
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 →
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 AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2009
From: WHISENANT, JAMES L
To: BMC SOFTWARE, INC.
Reel/Frame 023655/0058 →