IP Library Granted Patent US 8,560,500
Granted Patent B2
US 8,560,500 · App. 11/748,798 · Granted Oct 15, 2013

Method and system for removing rows from directory tables

Inventors: John B. Sandrock Grabsky (Naperville, IL); John C. Tucker (Downers Grove, IL); Matt H. Hammer (Aurora, IL)
Assignee: CA, Inc.
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,560,500
App. No.
11/748,798
Granted
Oct 15, 2013
Kind
B2
Abstract

The present disclosure is directed to a method and system for removing rows from directory tables. In accordance with a particular embodiment of the present disclosure, an image copy of at least a portion of a database directory table is created. A plurality of candidate rows to delete from the directory table is identified by comparing each row of the portion of the database directory table against one or more deletion criteria. An updated image copy is established by deleting the plurality of candidate rows from the image copy.

Claims (87)

1. A method for removing rows from directory tables, comprising:

creating an image copy of at least a portion of a database directory table, the database directory table not accessible using a delete operation;

identifying a plurality of candidate rows to delete from the directory table by comparing each row of the image copy of the portion of the database directory table against one or more deletion criteria;

deleting the plurality of candidate rows from the image copy to establish an updated image copy;

during a first pass process on the database directory table, caching a plurality of spacemap pages, wherein the first pass process comprises a first table scan of the database directory table and the plurality of spacemap pages comprise an indication of available page space in the database directory table; and

during a second pass process on the database table, applying the plurality of cached spacemap pages to the image copy of the portion of the database directory table, wherein the second pass process is performed after the first pass process and comprises a second table scan of the database directory table and wherein applying the cached space map page comprises determining if the spacemap pages are less than or equal to track modified pages.

2. The method of claim 1 , wherein creating an image copy of a database directory table comprises creating a working image copy and a fallback image copy of the directory table.

3. The method of claim 2 , further comprising:

determining if the deleting is successful;

recovering the database directory table from the updated image copy if the deleting is successful; and

recovering the database directory table from the fallback image copy if the deleting fails.

4. The method of claim 1 , wherein identifying a plurality of candidate rows to delete from the directory table by comparing each row of the portion of the database directory table against one or more deletion criteria comprises comparing each row of the portion of the database directory table against a hash table of one or more deletion criteria.

5. The method of claim 1 , further comprising providing a report identifying the deleted plurality of candidate rows.

6. The method of claim 1 , wherein comparing each row of the portion of the database directory table against one or more deletion criteria comprises comparing each row of a plurality of pages of the portion of the database directory table against one or more deletion criteria.

7. The method of claim 1 , wherein, when applying the cached spacemap pages to the image copy comprises:

for each of at least one page of the database directory table, determining that a dirty page flag is set for the at least one page; and

in response to determining that the dirty page flag is set, updating a cached spacemap page for the at least one page.

8. A system for removing rows from directory tables, comprising:

a storage device; and

a processor, the processor operable to execute a program of instructions operable to:

create an image copy of at least a portion of a database directory table, the database directory table not accessible using a delete operation;

identify a plurality of candidate rows to delete from the directory table by comparing each row of the image copy of the portion of the database directory table against one or more deletion criteria;

delete the plurality of candidate rows from the image copy to establish an updated image copy;

during a first pass process on the database directory table, cache a plurality of spacemap pages, wherein the first pass process comprises a first table scan of the database directory table and the plurality of spacemap pages comprise an indication of available page space in the database directory table; and

during a second pass process on the database table, apply plurality of the cached spacemap pages to the image copy of the portion of the database directory table, wherein the second pass process is performed after the first pass process and comprises a second table scan of the database directory table and wherein applying the cached space map page comprises determining if the spacemap pages are less than or equal to track modified pages.

9. The system of claim 8 , wherein the program of instructions is further operable to create a working image copy and a fallback image copy of the directory table.

10. The system of claim 9 , wherein the program of instructions is further operable to:

determine if the deleting is successful;

recover the database directory table from the updated image copy if the deleting is successful; and

recover the database directory table from the fallback image copy if the deleting fails.

11. The system of claim 8 , wherein the program of instructions is further operable to compare each row of the portion of the database directory table against a hash table of one or more deletion criteria.

12. The system of claim 8 , wherein the program of instructions is further operable to provide a report identifying the deleted plurality of candidate rows.

13. The system of claim 8 , wherein the program of instructions is further operable to compare each row of a plurality of pages of the portion of the database directory table against one or more deletion criteria.

14. The system of claim 8 , wherein, when applying the cached spacemap pages to the image copy, the processor is further operable to:

for each of at least one page of the database directory table, determine that a dirty page flag is set for the at least one page; and

in response to determining that the dirty page flag is set, update a cached spacemap page for the at least one page.

15. Logic encoded in a tangible computer-readable media, the logic being operable, when executed on a processor, to:

create an image copy of at least a portion of a database directory table, the database directory table not accessible using a delete operation;

identify a plurality of candidate rows to delete from the directory table by comparing each row of the image copy of the portion of the database directory table against one or more deletion criteria;

delete the plurality of candidate rows from the image copy to establish an updated image copy;

during a first pass process on the database directory table, cache a plurality of spacemap pages, wherein the first pass process comprises a first table scan of the database directory table and the plurality of spacemap pages comprise an indication of available page space in the database directory table; and

during a second pass process on the database table, apply the plurality of cached spacemap pages to the image copy of the portion of the database directory table, wherein the second pass process is performed after the first pass process and comprises a second table scan of the database directory table and wherein applying the cached space map page comprises determining if the spacemap pages are less than or equal to track modified pages.

16. The logic of claim 15 , wherein the logic is further operable to create a working image copy and a fallback image copy of the directory table.

17. The logic of claim 16 , wherein the logic is further operable to:

determine if the deleting is successful;

recover the database directory table from the updated image copy if the deleting is successful; and

recover the database directory table from the fallback image copy if the deleting fails.

18. The logic of claim 15 , wherein the logic is further operable to compare each row of the portion of the database directory table against a hash table of one or more deletion criteria.

19. The logic of claim 15 , wherein the logic is further operable to provide a report identifying the deleted plurality of candidate rows.

20. The logic of claim 15 , wherein, when applying the cached spacemap pages to the image copy, the logic is further operable to:

for each of at least one page of the database directory table, determine that a dirty page flag is set for the at least one page; and

in response to determining that the dirty page flag is set, update a cached spacemap page for the at least one page.

21. Logic encoded in a tangible computer-readable media, the logic being operable, when executed on a processor, to:

create an image copy of at least a portion of a database directory table, the database directory table not accessible using a delete operation;

identify a plurality of candidate rows to delete from the directory table by comparing each row of the image copy of the portion of the database directory table against one or more deletion criteria;

delete the plurality of candidate rows from the image copy to establish an updated image copy;

cache a plurality of spacemap pages, wherein the plurality of spacemap pages comprise an indication of available page space in the database directory table; and

apply the plurality of cached spacemap pages to the image copy of the portion of the database directory table, wherein applying the cached space map page comprises determining if the spacemap pages are less than or equal to track modified pages, and

wherein, when creating the image copy, the logic is further operable to:

create a first image copy comprising a fallback copy;

create a second image copy, the second image copy comprising:

a working copy; and

a verification copy that is not touched during recovery processing.

22. A method for removing rows from directory tables, comprising:

creating an image copy of at least a portion of a database directory table, the database directory table not accessible using a delete operation;

identifying a plurality of candidate rows to delete from the directory table by comparing each row of the image copy of the portion of the database directory table against one or more deletion criteria;

deleting the plurality of candidate rows from the image copy to establish an updated image copy;

caching a plurality of spacemap pages, wherein the plurality of spacemap pages comprise an indication of available page space in the database directory table; and

applying the plurality of cached spacemap pages to the image copy of the portion of the database directory table, wherein applying the cached space map page comprises determining if the spacemap pages are less than or equal to track modified pages, and

wherein creating the image copy comprises:

creating a first image copy comprising a fallback copy;

creating a second image copy, the second image copy comprising:

a working copy; and

a verification copy that is not touched during recovery processing.

23. A system for removing rows from directory tables, comprising:

a storage device; and

a processor, the processor operable to execute a program of instructions operable to:

create an image copy of at least a portion of a database directory table, the database directory table not accessible using a delete operation;

identify a plurality of candidate rows to delete from the directory table by comparing each row of the image copy of the portion of the database directory table against one or more deletion criteria;

delete the plurality of candidate rows from the image copy to establish an updated image copy;

cache a plurality of spacemap pages, wherein the plurality of spacemap pages comprise an indication of available page space in the database directory table; and

apply plurality of the cached spacemap pages to the image copy of the portion of the database directory table, wherein applying the cached space map page comprises determining if the spacemap pages are less than or equal to track modified pages, and

wherein, when creating the image copy, the processor is further operable to:

create a first image copy comprising a fallback copy;

create a second image copy, the second image copy comprising:

a working copy; and

a verification copy that is not touched during recovery processing.

Assignments (2)
MERGER Recorded Aug 7, 2013
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 030960/0564 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2007
From: SANDROCK GRABSKY, JOHN B.; TUCKER, JOHN C.; HAMMER, MATT H.
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 019295/0949 →
Continuity (3)
Continuation In Part 10911828 · Aug 5, 2004
Provisional Application 60524704 · Nov 24, 2003
Related Publication 20070214168A1 · Sep 13, 2007