IP Library Granted Patent US 10,366,074
Granted Patent B2
US 10,366,074 · App. 14/837,862 · Granted Jul 30, 2019

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 10,366,074
App. No.
14/837,862
Granted
Jul 30, 2019
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 (72)

1. A computer-implemented method of migrating data from a source database to a target database including executing, using at least one processor, instructions recorded on a non-transitory computer-readable storage medium, the method comprising:

creating an image copy of data in the source database, the image copy including source object identifiers of the source database;

collecting, from a database catalog, metadata describing structural attributes of the source database, wherein the metadata is configured for translating the source object identifiers in the image copy to target object identifiers;

providing the metadata and the image copy to a target database system;

mapping structures described in the metadata to structures of the target database; and

refreshing data in the target database with the image copy of the data in the source database responsive to successful mapping of structures described in the metadata to structures of the target database.

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

averting the refreshing responsive to unsuccessful mapping of a structure described in the metadata to a structure of the target database.

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

determining a current maximum last change logpoint for the source database;

retrieving a prior maximum last change logpoint for a previous migration; and

averting the refreshing responsive to determining that the current maximum last change logpoint matches the prior maximum last change logpoint.

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

translating source object identifiers to target object identifiers based on the metadata as part of the refreshing.

5. The computer-implemented method of claim 1 , wherein mapping the structures described in the metadata to the structures of the target database includes:

matching a source table name from the metadata with a target table name in the target database regardless of whether an owner name of the source table matches an owner name of the target table;

responsive to determining that no target table matches the source table, applying a table matching rule; and

responsive to determining that more than one target table name matches the source table name, matching the source table with the target table based on an owner matching rule,

wherein the mapping is unsuccessful responsive to determining that no target table matches the source table.

6. The computer-implemented method of claim 1 , wherein the mapping is unsuccessful responsive to determining that at least one object in the metadata lacks a corresponding object in the target database.

7. The computer-implemented method of claim 6 , further comprising:

for each table object in the metadata, determining whether a value calculated based on columns included in the description of the table object in the metadata matches a value calculated based on columns included in a target table object as part of determining whether a one-to-one relationship exists; and

averting the refreshing responsive to determining that the values do not match.

8. The computer-implemented method of claim 7 , wherein calculating the value based on columns included in the description of the table object comprises:

for each column in a source table, translating a number of beginning characters and a number of ending characters into a numeric value and multiplying the numeric value by the column number; and

summing the result of the multiplying for all columns in the source table.

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

generating system pages for the source database prior to creating the image copy.

10. A computer system for migrating data from a source database to a target database comprising:

a source computing system including:

at least a first processor;

a source database; and

memory storing instructions that, when executed by the at least first processor, cause the source computing system to:

create an image copy of data in the source database, the image copy including source object identifiers of the source database, and

create a file of metadata, obtained from a database catalog, describing structural attributes of the source database, wherein the metadata is configured for translating the source object identifiers in the image copy to target object identifiers; and

a target computing system including:

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 system to:

map structures described in the file of metadata to structures of the target database, and

refresh data in the target database with the image copy of the data in the source database responsive to successful mapping of the structures described in the file of metadata with the structures of the target database.

11. The computer system of claim 10 , the target computing system including further instructions that, when executed by the at least second processor, cause the target computing system to translate source object identifiers in the image copy to target object identifiers based on the metadata as part of the mapping.

12. The computer system of claim 10 , wherein the mapping is unsuccessful responsive to determining that at least one structure described in the metadata lacks a corresponding structure in the target database.

13. The computer system of claim 12 , the target computing system including further instructions that, when executed by the at least second processor, cause the target computing system to, for each table object in the metadata file:

determine whether a value calculated based on columns included in the description of the table object in the metadata file matches a value calculated based on columns included in the table object of the target database as part of mapping the structures; and

avert the refreshing responsive to determining that the values do not match.

14. The computer system of claim 10 ,

the source computing system including further instructions that, when executed by the at least first processor, cause the source computing system to include version information from system files for the source database in the file of metadata before creating the image copy of the data in the source database; and

the target computing system including further instructions that, when executed by the at least second processor, cause the target computing system to:

compare version information of the target database with version information of the source database in the file of metadata, and

automatically repair the version information of the target database responsive to determining that the version information of the target database is not compatible with the version information of the source database.

15. The computer system of claim 14 , wherein including the version information from the system files in the file of metadata includes:

determining whether current version information from header files for the source database matches version information for the source database from system files; and

forcing generation of system pages for the source database responsive to determining that the current version information does not match the version information in the source database.

16. The computer system of claim 15 , wherein forcing the generation of system pages includes:

determining whether a table object described in the metadata has at least one row;

performing an update and a rollback responsive to determining the table object has at least one row; and

performing an insert and a rollback responsive to determining the table object lacks at least one row.

17. The computer system of claim 10 , wherein the metadata includes a record type, a name, a database identifier, and an object identifier.

18. The computer system of claim 10 , the source computing system including further instructions that, when executed by the at least first processor, cause the source computing system to:

avert the refreshing responsive to determining that source objects of the source database and target objects of the target database are not compatible because of differences in the database structures.

19. A computer-implemented method of migrating data from a source database to a target database including executing, using at least one processor, instructions recorded on a non-transitory computer-readable storage medium, the method comprising:

creating an image copy of data in the source database;

collecting, from a database catalog, metadata describing structural attributes of the source database;

providing the metadata and the image copy to a target database system;

determining a current maximum last change logpoint for the source database from the metadata;

retrieving a prior maximum last change logpoint for a previous migration;

responsive to determining that the current maximum last change logpoint fails to match the prior maximum last change logpoint:

mapping structures described in the metadata to structures of the target database; and

refreshing data in the target database with the image copy of the data in the source database responsive to successful mapping of structures described in the metadata to structures of the target database.

20. The method of claim 19 , further comprising:

translating source object identifiers in the image copy to target object identifiers based on the metadata as part of the mapping.

Assignments (13)
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 →
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 →
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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2015
From: CLINE, RICHARD; POTHOFF, WILLIAM J.; PRICE, THOMAS G.
To: BMC SOFTWARE, INC.
Reel/Frame 036457/0079 →