IP Library Granted Patent US 8,595,190
Granted Patent B2
US 8,595,190 · App. 13/198,369 · Granted Nov 26, 2013

Methods and apparatus related to completion of large objects within a DB2 database environment

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 8,595,190
App. No.
13/198,369
Granted
Nov 26, 2013
Kind
B2
Abstract

In one general aspect, an apparatus can include a completion identifier configured to identify, for completion processing, a large object (LOB) deleted from an auxiliary table within a DB2 database environment based on a space map record associated with the large object where the auxiliary table functions as an auxiliary space to a base table. The apparatus can also include a completion analyzer configured to identify a resource where an image of the large object is stored at a time before the deletion of the large object from the auxiliary table.

Claims (59)

1. An apparatus, comprising:

a memory; and

a processor operably coupled to the memory and configured to cause the apparatus to include:

a completion identifier configured to identify, for completion processing, a large object (LOB) deleted from an auxiliary table within a relational database management system environment based on a space map record associated with the large object, the auxiliary table functioning as an auxiliary space to a base table; and

a completion analyzer configured to identify a resource where an image of the large object is stored at a time before the deletion of the large object from the auxiliary table, wherein the resource is a backup of the auxiliary table stored at a time before the deletion of the large object.

2. The apparatus of claim 1 , wherein the resource is a backup of the auxiliary table and the image of the large object is a first image of the large object, and the completion analyzer is configured to identify a log including data related to a modification of the first image of the large object,

the apparatus further comprising:

a completion execution module configured to produce a second image of the large object based on the first image of the large object and based on the log.

3. The apparatus of claim 1 , wherein the large object is a first large object, the completion identifier is configured to identify a second large object modified within the auxiliary table,

the completion analyzer is configured to identify the resource as including an image of the second large object before modification of the second large object within the auxiliary table.

4. The apparatus of claim 1 , further comprising:

a completion execution module configured to retrieve at least a portion of the image of the large object from the resource; and

a recovery module configured to receive a recovery instruction, and configured to restore the at least the portion of the image of the large object to the auxiliary table in response to the recovery instruction.

5. The apparatus of claim 1 , wherein the large object stored in the auxiliary table is referenced within a record from a plurality of records in a base table.

6. The apparatus of claim 1 , further comprising:

a completion execution module configured to retrieve at least a portion of the image of the large object from the resource, and configured to store the at least the portion of the image of the large object in an image repository outside of the relational database management system environment.

7. The apparatus of claim 1 , wherein the resource is at least one of a log file or an auxiliary table backup identified based on a relational database management system catalog storing information about data maintained within the relational database management system environment.

8. The apparatus of claim 1 , wherein an image of the large object in response to being deleted is unlogged.

9. The apparatus of claim 1 , wherein the auxiliary table is a large object tablespace within the relational database management system environment.

10. A non-transitory computer-readable storage medium storing instructions that when executed cause a processor to perform a process, the instructions comprising instructions to:

determine that a large object (LOB) stored, at a first time, in an auxiliary table to a base table within a relational database management system environment has changed, at a second time, based on a space map record referencing the large object stored in the auxiliary table;

designate the large object for completion processing in response to the determination;

identify, in response to the designation of the large object for completion processing, a storage location of an image of the large object within a resource of the relational database management system environment based on the space map record and based on a relational database management system catalog; and

retrieve, as a portion of the completion processing, the image of the large object prior to a change from the storage location of the resource.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the storage location spans a plurality of pages being linked in a sequential order,

the instructions further comprising instructions to:

retrieve, as a portion of the completion processing, a copy of the image of the large object prior to the change from the storage location of the resource based on processing of each page from the plurality of pages in the sequential order.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the resource is a backup of the auxiliary table,

the instructions further comprising instructions to:

identify a log associated with the backup of the auxiliary table and stored after the backup of the auxiliary table was stored;

retrieve, as a portion of the completion processing, the image of the large object prior to the change from the storage location of the resource; and

produce a modified version of the image of the large object based on the log.

13. The non-transitory computer-readable storage medium of claim 10 , wherein at least a portion of the storage location of the image of the large object within the resource corresponds with at least a portion of a storage location of an image of the large object available in the auxiliary table.

14. The non-transitory computer-readable storage medium of claim 10 , wherein the large object is a first large object and the storage location is a first storage location,

the instructions further comprising instructions to:

designate a second large object for completion processing;

determine that an image of the second large object is available on the resource; and

retrieve the image of the second large object starting at a second storage location of the resource.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the large object is stored in a storage location at the first time, the storage location is identified as being available for writing in the space map record at the second time.

16. The non-transitory computer-readable storage medium of claim 10 , wherein the large object is a first large object,

the instructions further comprising instructions to:

designate a second large object for completion processing; and

determine that an image of the second large object is available on the resource based on a space map record referencing the second large object and based on the relational database management system catalog.

17. The non-transitory computer-readable storage medium of claim 10 , wherein the large object is a first large object, the instructions further comprise instructions to:

identify a second large object modified within the auxiliary table, and

identify the resource as including an image of the second large object before modification of the second large object within the auxiliary table.

18. A non-transitory computer-readable storage medium storing instructions that when executed cause a processor to perform a process, the instructions comprising instructions to:

designate, for completion processing, a plurality of large objects (LOB) associated with an auxiliary table to a base table within a relational database management system;

identify, in response to the designation of the plurality of large objects for completion processing, a first plurality of resources for completion processing of a first portion of the plurality of large objects;

identify, in response to the designation of the plurality of large objects for completion processing, a second plurality of resources for completion processing of a second portion of the plurality of large objects; and

identify a resource common to the first plurality of resources and the second plurality of resources.

19. The non-transitory computer-readable storage medium of claim 18 , further comprising instruction to:

retrieve, as a portion of the completion processing, at least a portion of an image of a first large object from the plurality of large objects and a second large object from the plurality of large objects from the resource common to the first plurality of resources and the second plurality of resources.

20. The non-transitory computer-readable storage medium of claim 18 , further comprising instruction to:

iteratively calculate a cost for performing the completion processing based on the first plurality of resources and the second plurality of resources.

21. The non-transitory computer-readable storage medium of claim 18 , further comprising instruction to:

exclude at least a portion of the first plurality of resources for analysis during completion processing based on overlap between the first plurality of resources and the second plurality of resources.

22. The non-transitory computer-readable storage medium of claim 18 , further comprising instruction to:

receive a request to retrieve an image of at least one large object from a plurality of images at a specified time, at least a portion of the first plurality of resources is identified based on the specified time.

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 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 Jan 5, 2012
From: GARZA, OSCAR J.; HANUS, MICHAEL J.; MCDONALD, KENNETH M.; DURFEE, KENNETH J.
To: BMC SOFTWARE, INC.
Reel/Frame 027487/0786 →