IP Library Granted Patent US 11,645,261
Granted Patent B2
US 11,645,261 · App. 16/394,876 · Granted May 9, 2023

System and method for heterogeneous database replication from a remote server

Inventors: Ashish Kumar (Bengaluru, IN); Avinash Dubey (Bengaluru, IN); Vinay Sachdev (Bengaluru, IN); Scott Roger Corbin (Spooner, WI)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F16/2358G06F16/273H04L67/1095
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 11,645,261
App. No.
16/394,876
Granted
May 9, 2023
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system and method for heterogeneous database replication from a remote server, for example a remote database server. A capture process can be registered as a replication slave to the remote server, and configured to receive transaction event data from that server. Transaction log events associated with a modification to the database at the remote server can be processed, and output as change data, in a canonical format output, for use with one or more heterogeneous targets, for example a target database server or message queue. The process enables capture of transaction log events associated with database transactions at a remote server that may be located on a different computer or network, or within an access-restricted environment such as a cloud environment, without the need to create additional copies of its transaction logs.

Claims (47)

1. A system for heterogeneous database replication from a remote server, comprising:

a computer including a processor, and change data system operating thereon that enables replicating of data between database servers;

wherein a capture component, operable to access records at a database via a network connection and perform a capture process, which is registered to the remote server, wherein the database is associated with the remote server, and wherein the remote server is associated with connection parameters that enable the capture process to connect to the remote server and to receive transaction log events that are indicative of database transactions to modify data at the database associated with the remote server;

wherein the capture process is configured to appear and operate as a replication slave to the remote server, including use of a process for:

determining a slave server identifier that enables operation with the remote server, and

determining a log positioning information, including a start position, which information is provided to the remote server for use by the remote server in sending transaction log data beginning from the start position; and

wherein as the data at the database associated with the remote server is modified, the capture process continues to request transaction log events from the remote server indicative of the database transactions to modify the data at the database associated with the remote server, which transaction log events are processed by the capture process operating as the replication slave to the remote server, and output as change data, in a canonical format output for use by a delivery process in applying the change data to one or more target database server or other systems.

2. The system of claim 1 ,

wherein the capture process is registered to operate as a replication slave to the remote server; and

wherein the capture process uses a method to be registered as the replication slave to the remote server, and to receive information from that server, including transaction event data.

3. The system of claim 1 , wherein the environment is a change data capture system, and wherein the transaction log events are written to an output or trail file for use by the change data capture system with the target database server.

4. The system of claim 3 , wherein the change data capture system is provided at a different computer or on a different network from the remote server.

5. The system of claim 1 , wherein the remote server is provided within an access-restricted or cloud environment.

6. The system of claim 1 , wherein the remote server is a MySQL server.

7. The system of claim 1 , wherein the capture component includes one or more access thread and reader thread for accessing the records at the database via the network connection,

wherein as the data at the database associated with the remote server is modified, the capture process requests the transaction log events from the remote server indicative of the database transactions to modify the data at the database associated with the remote server, which transaction log events are processed as the change data for use by the delivery process.

8. The system of claim 1 , wherein one or more delivery processes are used to convert the change data that is read from the database of a first type, for consumption by a plurality of heterogeneous targets, including at least one of a second type of target server and/or a third type of target server, by forming commands or queries according to each particular target, and applying the commands or queries to that target.

9. A method for heterogeneous database replication from a remote server, comprising:

providing, at a computer including a processor, a change data system operating thereon that enables replicating of data between database servers and a capture component, operable to access records at a database via a network connection and perform a capture process, wherein the database is associated with the remote server, and wherein the capture process is:

registered to a remote server, wherein the remote server is associated with connection parameters that enable the capture process to connect to the remote server and

configured to receive transaction log events that are indicative of database transactions to modify data at the database associated with the remote server;

wherein the capture process is configured to appear and operate as a replication slave to the remote server, including use of a process for:

determining a slave server identifier that enables operation with the remote server, and

determining a log positioning information, including a start position, which information is provided to the remote server for use by the remote server in sending transaction log data beginning from the start position; and

wherein as the data at the database associated with the remote server is modified, the capture process continues to request transaction log events from the remote server indicative of the database transactions to modify the data at the database associated with the remote server, which transaction log events are processed by the capture process operating as the replication slave to the remote server, and output as change data, in a canonical format output for use by a delivery process in applying the change data to one or more target database server or other systems.

10. The method of claim 9 ,

wherein the capture process is registered to operate as a replication slave to the remote server; and

wherein the capture process uses a method to be registered as the replication slave to the remote server, and to receive information from that server, including transaction event data.

11. The method of claim 9 , wherein the environment is a change data capture system, and wherein the transaction log events are written to an output or trail file for use by the change data capture system with the target database server.

12. The method of claim 11 , wherein the change data capture system is provided at a different computer or on a different network from the remote server.

13. The method of claim 9 , wherein the remote server is provided within an access-restricted or cloud environment.

14. The method of claim 9 , wherein the remote server is a MySQL server.

15. A non-transitory computer readable storage medium, including instructions stored thereon which when read and executed by one or more computers cause the one or more computers to perform a method comprising:

providing a change data system that enables replicating of data between database servers and a capture component, operable to access records at a database via a network connection and perform a capture process, wherein the database is associated with the remote server, and wherein the capture process is:

registered to a remote server, wherein the remote server is associated with connection parameters that enable the capture process to connect to the remote server and

configured to receive transaction log events that are indicative of database transactions to modify data at the database associated with the remote server;

wherein the capture process is configured to appear and operate as a replication slave to the remote server, including use of a process for:

determining a slave server identifier that enables operation with the remote server, and

determining a log positioning information, including a start position, which information is provided to the remote server for use by the remote server in sending transaction log data beginning from the start position; and

wherein as the data at the database associated with the remote server is modified, the capture process continues to request transaction log events from the remote server indicative of the database transactions to modify the data at the database associated with the remote server, which transaction log events are processed by the capture process operating as the replication slave to the remote server, and output as change data, in a canonical format output for use by a delivery process in applying the change data to one or more target database server or other systems.

16. The non-transitory computer readable storage medium of claim 15 ,

wherein the capture process is registered to operate as a replication slave to the remote server; and

wherein the capture process uses a method to be registered as the replication slave to the remote server, and to receive information from that server, including transaction event data.

17. The non-transitory computer readable storage medium of claim 15 , wherein the environment is a change data capture system, and wherein the transaction log events are written to an output or trail file for use by the change data capture system with the target database server.

18. The non-transitory computer readable storage medium of claim 17 , wherein the change data capture system is provided at a different computer or on a different network from the remote server.

19. The non-transitory computer readable storage medium of claim 15 , wherein the remote server is provided within an access-restricted or cloud environment.

20. The non-transitory computer readable storage medium of claim 15 , wherein the remote server is a MySQL server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2019
From: KUMAR, ASHISH; DUBEY, AVINASH; SACHDEV, VINAY; CORBIN, SCOTT ROGER
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 049025/0882 →
Continuity (2)
Provisional Application 62663954 · Apr 27, 2018
Related Publication 20190332582A1 · Oct 31, 2019
Cited By (2)
US 12,269,369 US 12,657,163