# US 11,442,908 B2 · Optimized database migration for large systems between platforms with different endianness

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,442,908 B2
- Document ID: US11442908B2
- Status: Granted
- Kind: B2
- Application number: 16/872,196
- Filed: 2020-05-11
- Published: 2021-11-11
- Granted: 2022-09-13
- Earliest claimed: 2020-05-11
- Assignees: Saudi Arabian Oil Company
- Applicants: Saudi Arabian Oil Company
- Inventors: Mohammad Jawad A Almumen; Alaa Mohammed G Zarban; Amro Farouk Alsagga; Mustafa Salman Alghafli; Marwan Ahmad S Almuhaiteeb
- Web page: https://patentgrep.com/patent/US11442908B2

## CPC

- G06F 16/214: {Database migration support}
- G06F 11/1464: {for networked environments}
- G06F 11/1469: {Backup restoration techniques}
- G06F 16/128: {Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16)}
- G06F 16/1734: {Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs}
- G06F 16/211: {Schema design and management}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 2201/80: Database-specific techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The disclosure describes a method for database migration including: identifying, during an uptime of a source database system, one or more increments between a back-up copy of the source database system and the source database system, the source database system comprising: one or more datafiles encoding data objects, and tablespace data encoding table/index data, restoring, in parallel and during the uptime of the source database system, the one or more datafiles from the back-up copy to a target database system that uses a different endian format; in response to determining that a downtime for the source database system has arrived, sequentially performing, during a downtime of the source database system: setting the tablespace data to read only; recovering datafiles on the target database system in accordance with the one or more increments; and setting the tablespace data to read and write; and activating the target database system to go live.

## Claims

### Claim 1

A computer-implemented method for database migration, comprising:
identifying, during an uptime of a source database system, one or more increments between a back-up copy of the source database system and the source database system, wherein:
the source database system comprises: one or more datafiles encoding data objects, and tablespace data encoding table and index data, and
the back-up copy of the source database system comprises: the one or more datafiles encoding data objects;
backing up, into the back-up copy and during the uptime of the source database system, user data of the source database system, the user data encoding users, and respective roles, credentials, and assignments of the users;
restoring, in parallel and during the uptime of the source database system, the one or more datafiles from the back-up copy to a target database system, the target database system using an endian format different from the source database system;
sequentially performing, during a downtime of the source database system,
(i) setting the tablespace data to read only;
(ii) recovering datafiles on the target database system in accordance with the one or more increments;
(iii) setting the tablespace data to read and write; and
subsequently activating the target database system to go live while starting to restore the user data of the source database system,
wherein a gap exists between when the source database system enters the downtime and when the target database system is activated, and
wherein the gap is limited to a duration of said recovering data files on the target database system in accordance with the one or more increments.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
identifying, during the uptime of the source database system, a portion of the tablespace data that is unused by the source database system, wherein a portion of the tablespace data is unused when non-temporary tables and indices encoded by the portion contain zero records; and
exporting, during the uptime of the source database system, the portion of the tablespace data that is unused by the source database system.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, further comprising:
importing, to the target database system and after the target database system has gone live, the portion of the tablespace data that is unused by the source database system.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
transferring, during the downtime of the source database system, one or more non-table/index database objects from the source database system to the target database system.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the one or more non-table/index database objects comprises at least one of: a sequence, or a procedure of the source database system.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising:
exporting a snapshot of database statistics of the source database system during the uptime of the source database system.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, further comprising:
importing, to the target database system and after the target database system has gone live, the snapshot of database statistics of the source database system.

### Claim 8

A computer system for data migration from a source database system to a target database system, the computer system comprising one or more processors configured to perform operations of:
identifying, during an uptime of a source database system, one or more increments between a back-up copy of the source database system and the source database system, wherein:
the source database system comprises: one or more datafiles encoding data objects, and tablespace data encoding table and index data, and
the back-up copy of the source database system comprises: the one or more datafiles encoding data objects;
backing up, into the back-up copy and during the uptime of the source database system, user data of the source database system, the user data encoding users, and respective roles, credentials, and assignments of the users;
restoring, in parallel and during the uptime of the source database system, the one or more datafiles from the back-up copy to a target database system, the target database system using an endian format different from the source database system;
sequentially performing, during a downtime of the source database system,
(i) setting the tablespace data to read only;
(ii) recovering datafiles on the target database system in accordance with the one or more increments;
(iii) setting the tablespace data to read and write; and
subsequently activating the target database system to go live while starting to restore the user data of the source database system,
wherein a gap exists between when the source database system enters the downtime and when the target database system is activated, and
wherein the gap is limited to a duration of said recovering data files on the target database system in accordance with the one or more increments.

### Claim 9 (depends on 8)

The computer system of claim 8, wherein operations further comprise:
identifying, during the uptime of the source database system, a portion of the tablespace data that is unused by the source database system, wherein a portion of the tablespace data is unused when non-temporary tables and indices encoded by the portion contain zero records; and
exporting, during the uptime of the source database system, the portion of the tablespace data that is unused by the source database system.

### Claim 10 (depends on 9)

The computer system of claim 9, wherein the operations further comprise:
importing, to the target database system and after the target database system has gone live, the portion of the tablespace data that is unused by the source database system.

### Claim 11 (depends on 8)

The computer system of claim 8, wherein the operations further comprise:
transferring, during the downtime of the source database system, one or more non-table/index database objects from the source database system to the target database system.

### Claim 12 (depends on 11)

The computer system of claim 11, wherein the one or more non-table/index database objects comprises at least one of: a sequence, or a procedure of the source database system.

### Claim 13 (depends on 8)

The computer system of claim 8, wherein the operations further comprise:
exporting a snapshot of database statistics of the source database system during the uptime of the source database system.

### Claim 14 (depends on 13)

The computer system of claim 13, wherein the operations further comprise:
importing, to the target database system and after the target database system has gone live, the snapshot of database statistics of the source database system.
