IP Library Granted Patent US 9,152,659
Granted Patent B2
US 9,152,659 · App. 13/341,693 · Granted Oct 6, 2015

Systems and methods for migrating database data

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,152,659
App. No.
13/341,693
Granted
Oct 6, 2015
Kind
B2
Abstract

In one aspect, a computer-implemented method for ensuring a source database (e.g., target space or index space) has correct version information before a migration includes executing, using at least one processor, instructions recorded on a computer-readable storage medium. The instructions include determining whether a table has been changed since a most recent alter of the table, performing an update on the table when it is determined that the table has not been changed since the most recent alter, and performing a rollback on the table after the update. The method may also include creating an image copy of the data in the source database and refreshing data in a target database with the image copy of the data in the source database. The method may also include automatically repairing the target database when the version information of the target does not correspond with the version information for the source.

Claims (74)

1. A computer-implemented method of ensuring a source database has correct version information in database system files prior to a data migration including executing, using at least one processor, instructions recorded on a non-transitory computer-readable storage medium, the method comprising:

obtaining, from a database catalog, current version information for a table associated with the source database;

determining whether version information for the table in the system files matches the current version information;

performing an update on a row of the table when it is determined that the version information in the system files does not match the current version information; and

rolling back the update,

wherein performing the update and rolling back the update ensures the version information in database system files matches the current version information.

2. The computer-implemented method of claim 1 , wherein the source database is a DB2 database and system pages are created as a result of performing the update.

3. The computer-implemented method of claim 1 , wherein the source database is a DB2 database and index directory pages are created as a result of performing the update.

4. The computer-implemented method of claim 1 , further comprising:

creating an image copy of the data in the source database; and

refreshing data in a target database with the image copy of the data in the source database.

5. The computer-implemented method of claim 4 , wherein refreshing data in the target database further comprises:

determining whether version information of the target database is compatible with the version information of the source database; and

automatically repairing the target database when it is determined that the version information of the target database is not compatible with the version information of the source database.

6. The computer-implemented method of claim 5 , wherein the source database and the target database are DB2 databases and automatically repairing the target database includes issuing a REPAIR VERSIONS command.

7. The computer-implemented method of claim 4 , wherein the source database and the target database are DB2 databases, a source table space is versioned, and refreshing data in the target database further comprises:

determining whether a prior migration of data has occurred; and

issuing a REPAIR VERSIONS command when it is determined that a prior migration of data has not occurred.

8. The computer-implemented method of claim 4 , wherein the source database and the target database are DB2 databases, a source table space is versioned, and refreshing data in the target database further comprises:

determining whether a version of a target table space has changed; and

issuing a REPAIR VERSIONS command when it is determined that the version of the target table space has changed.

9. The computer-implemented method of claim 4 , wherein the source database and the target database are DB2 databases, a source index space is versioned, and refreshing data in the target database further comprises:

determining whether a prior migration of data has occurred; and

issuing a REPAIR VERSIONS command when it is determined that a prior migration of data has not occurred.

10. The computer-implemented method of claim 4 , wherein the source database and the target database are DB2 databases, a source index space is versioned, and refreshing data in the target database further comprises:

determining whether a version of a target index space has changed; and

issuing a REPAIR VERSIONS command when it is determined that the version of the target index space has changed.

11. A computer program product, the computer program product being tangibly embodied on a computer-readable storage device storing instructions that when executed cause a processor to perform a process, the instructions comprising instructions to:

obtain, from a database catalog file, current version information for a table associated with a source database;

determine whether version information in database system files for the table matches the current version information;

perform an update of a row in the table when it is determined that the version information in the database system files does not match the current version information; and

rollback the update,

wherein performing the update and rolling back the update ensures version information in the database system files matches the current version information.

12. The computer program product of claim 11 , wherein the source database is a DB2 database and system pages are created as a result of performing the update.

13. The computer program product of claim 11 , wherein the source database is a DB2 database and index directory pages are created as a result of performing the update.

14. The computer program product of claim 11 , further comprising instructions to:

create an image copy of the data in the source database; and

refresh data in a target database with the image copy of the data in the source database.

15. The computer program product of claim 14 , wherein refreshing data in the target database further comprises instructions to:

determine whether version information of the target database is compatible with the version information of the source database; and

automatically repair the target database when it is determined that the version information of the target database is not compatible with the version information of the source database.

16. The computer program product of claim 15 , wherein the source database and the target database are DB2 databases and automatically repairing the target database includes issuing a REPAIR VERSIONS command.

17. The computer program product of claim 14 , wherein the source database and the target database are DB2 databases, a source table space is versioned, and refreshing data in the target database further comprises instructions to:

determine whether a version of a target table space has changed; and

issue a REPAIR VERSIONS command when it is determined that the version of the target table space has changed.

18. The computer program product of claim 14 , wherein the source database and the target database are DB2 databases, a source index space is versioned, and refreshing data in the target database further comprises instructions to:

determine whether a prior migration of data has occurred; and

issue a REPAIR VERSIONS command when it is determined that a prior migration of data has not occurred.

19. A computer system for ensuring a source database has correct version information in database system files prior to a data migration, including instructions recorded on a non-transitory computer-readable medium and executable by at least one processor, the system comprising:

a source computing device including:

at least one processor;

the source database; and

memory storing instructions that, when executed by the at least one processor, cause the source computing device to perform operations including:

obtaining, from a database catalog file, current version information for a table associated with the source database,

determining whether version information in the database system files for the table matches the current version information,

performing an update on a row of the table in response to determining that the version information in the database system files does not match the current version information, and

rolling back the update,

wherein performing the update and rolling back the update ensures the version information in the database system files is correct for the source database.

20. The computer system of claim 19 , wherein the source database is a DB2 database and system pages are created as a result of performing the update.

21. The computer system of claim 19 , wherein the source database is a DB2 database and index directory pages are created as a result of performing the update.

22. The computer system of claim 19 , the instructions further including instructions that, when executed by the at least one processor, cause the source computing device to create an image copy of the data in the source database; and the system further comprising a target computing device that includes:

at least a second processor,

a target database, and

memory storing instructions that, when executed by the at least second processor, cause the target computing device to refresh data in the target database with the image copy of the data in the source database.

23. The computer system of claim 22 , the target computing device further including instructions that, when executed by the at least second processor, cause the target computing device to perform operations including:

determining whether version information of the target database is compatible with the version information of the source database; and

automatically repairing the target database when it is determined that the version information of the target database is not compatible with the version information of the source database.

24. The computer system of claim 23 , wherein the source database and the target database are DB2 databases and automatically repairing the target database includes issuing a REPAIR VERSIONS command.

25. The computer system of claim 22 , wherein the source database and the target database are DB2 databases, a source index space is versioned, and the target computing device further comprises instructions that, when executed by the at least second processor, cause the target computing device to perform operations including:

determining whether a version of a target index space has changed; and

issuing a REPAIR VERSIONS command when it is determined that the version of the target index space has changed.

26. The computer system of claim 22 , wherein the source database and the target database are DB2 databases, a source table space is versioned, and the target computing device further comprises instructions that, when executed by the at least second processor, cause the target computing device to perform operations including:

determining whether a version of a target table space has changed; and

issuing a REPAIR VERSIONS command when it is determined that the version of the target table space has changed.

Assignments (14)
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 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 INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0189 →
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 Apr 3, 2012
From: CLINE, RICHARD; POTHOFF, WILLIAM J.; PRICE, THOMAS G.
To: BMC SOFTWARE, INC.
Reel/Frame 027976/0977 →