IP Library Granted Patent US 12675450
Granted Patent B2
US 12675450 · App. 17/145,769 · Granted Jul 7, 2026

Reduced downtime for database migration to in-memory database

Inventors: Rahul Shetti (West Chester, PA); Prathyusha Garimella (Chester Spring, PA); Austin Valerian D'souza (West Chester, PA)
Assignee: SAP SE
G06F16/214G06F8/65G06F9/547G06F16/2282
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 12675450
App. No.
17/145,769
Granted
Jul 7, 2026
Kind
B2
Abstract

In an example embodiment, a solution is provided that selects a portion of a non-in-memory database to migrate prior to a database migration option (DMO) performing a downtime portion of the migration. While it is typically not possible for the entire database to be migrated prior to the downtime portion due to the need for certain portions of the database to be used for the DMO portion itself, a substantial portion of the non-in-memory database can be migrated prior to the DMO performing the downtime portion of the migration by using specialized techniques. By migrating a substantial portion of the database prior to the downtime portion, the size of the portion of the database that needs to be migrated during the downtime portion is reduced, thus substantially reducing the length of time needed for the downtime portion.

Claims (42)

1 . A system comprising:

at least one hardware processor; and

a non-transitory computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:

identifying one or more data structures in a non-in-memory database for uptime migration to an in-memory database;

creating a sidecar configuration scenario for the in-memory database;

creating one or more triggers, using remote function calls (RFCs) for the identified one or more data structures in a sidecar associated with the sidecar configuration scenario and communicating the one or more triggers from the non-in-memory database to a software update manager via the RFCs;

performing uptime migration processing, using the software update manager, by executing the one or more triggers to load the identified one or more data structures into the sidecar, via a database connection and not via RFCs, while the in-memory database remains available for access to users;

marking the identified one or more data structures in a file maintained by the software update manager with a notation indicating that the identified one or more data structures has already been migrated and therefore should not be migrated again during downtime migration processing;

executing a database migration option of the software update manager to perform downtime migration processing by loading any data structures other than the identified one or more data structures from the non-in-memory database into the sidecar while the in-memory database is not available for access to users, based on the file maintained by the software update manager; and

causing the sidecar to be utilized as the in-memory database.

2 . The system of claim 1 , wherein communication between the software update manager and the sidecar is performed via a database connection and the performing of the uptime migration processing is performed using the database connection.

3 . The system of claim 1 , wherein the executing includes the database migration option accessing the file maintained by the software update manager and loading any data structures not marked with the notation indicating that they should be ignored from the in-memory database into the sidecar.

4 . The system of claim 1 , wherein the identified one or more data structures do not include any data structures that are continuously updated.

5 . The system of claim 1 , wherein the identified one or more data structures do not include any data structures that are system data structures necessary to process the one or more triggers.

6 . The system of claim 1 , wherein the identified one or more data structures are application tables.

7 . A method comprising:

identifying one or more data structures in a non-in-memory database for uptime migration to an in-memory database;

creating a sidecar configuration scenario for the in-memory database;

creating one or more triggers, using remote function calls (RFCs) for the identified one or more data structures in a sidecar associated with the sidecar configuration scenario and communicating the one or more triggers from the non-in-memory database to a software update manager via the RFCs;

performing uptime migration processing, using the software update manager, by executing the one or more triggers to load the identified one or more data structures into the sidecar, via a database connection and not via RFCs, while the in-memory database remains available for access to users;

marking the identified one or more data structures in a file maintained by the software update manager with a notation indicating that the identified one or more data structures has already been migrated and therefore should not be migrated again during downtime migration processing;

executing a database migration option of the software update manager to perform downtime migration processing by loading any data structures other than the identified one or more data structures from the non-in-memory database into the sidecar while the in-memory database is not available for access to users, based on the file maintained by the software update manager; and

causing the sidecar to be utilized as the in-memory database.

8 . The method of claim 7 , wherein communication between the software update manager and the sidecar is performed via a database connection and the performing of the uptime migration processing is performed using the database connection.

9 . The method of claim 7 , wherein the executing includes the database migration option accessing the file maintained by the software update manager and loading any data structures not marked with the notation indicating that they should be ignored from the in-memory database into the sidecar.

10 . The method of claim 7 , wherein the identified one or more data structures do not include any data structures that are continuously updated.

11 . The method of claim 7 , wherein the identified one or more data structures do not include any data structures that are system data structures necessary to process the one or more triggers.

12 . The method of claim 7 , wherein the identified one or more data structures are application tables.

13 . A non-transitory machine-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:

identifying one or more data structures in a non-in-memory database for uptime migration to an in-memory database;

creating a sidecar configuration scenario for the in-memory database;

creating one or more triggers, using remote function calls (RFCs) for the identified one or more data structures in a sidecar associated with the sidecar configuration scenario and communicating the one or more triggers from the non-in-memory database to a software update manager via the RFCs;

performing uptime migration processing, using the software update manager, by executing the one or more triggers to load the identified one or more data structures into the sidecar, via a database connection and not via RFCs, while the in-memory database remains available for access to users;

marking the identified one or more data structures in a file maintained by the software update manager with a notation indicating that the identified one or more data structures has already been migrated and therefore should not be migrated again during downtime migration processing;

executing a database migration option of the software update manager to perform downtime migration processing by loading any data structures other than the identified one or more data structures from the non-in-memory database into the sidecar while the in-memory database is not available for access to users, based on the file maintained by the software update manager; and

causing the sidecar to be utilized as the in-memory database.

14 . The non-transitory machine-readable medium of claim 13 , wherein communication between the software update manager and the sidecar is performed via a database connection and the performing of the uptime migration processing is performed using the database connection.

15 . The non-transitory machine-readable medium of claim 13 , wherein the executing includes the database migration option accessing the file maintained by the software update manager and loading any data structures not marked with the notation indicating that they should be ignored from the in-memory database into the sidecar.

16 . The non-transitory machine-readable medium of claim 13 , wherein the identified one or more data structures do not include any data structures that are continuously updated.

17 . The non-transitory machine-readable medium of claim 13 , wherein the identified one or more data structures do not include any data structures that are system data structures necessary to process the one or more triggers.

18 . The system of claim 1 , wherein the performing uptime migration includes storing changes to the non-in-memory database in one or more logging tables and transferring the changes from the one or more logging tables to the sidecar using the database connection.

19 . The system of claim 1 , wherein the one or more triggers are used for each data structure in the non-in-memory database.