Database system providing improved methods for data replication
First Claim
1. A method for capturing database changes at a primary database and applying those changes to a replicate database while the replicate database remains on-line and available for use, the method comprising:
- monitoring transactions occurring at the primary database for detecting changes made to the primary database;
recording information about transactions observed to have occurred at the primary database in a transaction log;
synchronously copying the information about the transactions recorded in the transaction log to a remote site, so as to create at the remote site a mirrored transaction log that is guaranteed to contain at a synchronized point in time an exact copy of the transactions recorded in the transaction log at the primary database;
copying database schema from the primary database to the remote site when the database schema is determined to be modified, to enable transactions to be reconstructed and applied at the replicate database;
wherein said monitoring and recording steps occur at a primary site;
wherein, while the replicate database remains on-line and available for use, changes made at the primary database are replicated to the replicate database by;
said transactions at the replicate database being reconstructed based on the information about the transactions copied to the mirrored transaction log, the information including database schema of the primary database identified as modified and copied to the remote site; and
the reconstructed transactions being asynchronously applied at the replicate database;
wherein the primary site and remote site are different physical locations.
1 Assignment
0 Petitions
Accused Products
Abstract
A system providing improved methods for data replication is described. A method for replicating a transaction from a primary database to a replicate database while the replicate database remains available for use comprises: recording information about a transaction being performed at a primary database in a transaction log; synchronously copying the information about the transaction in the transaction log to a mirrored transaction log; generating a reconstructed transaction based on the information about the transaction copied to the mirrored transaction log; and applying the reconstructed transaction at the replicate database while the replicate database remains available for use.
-
Citations
37 Claims
-
1. A method for capturing database changes at a primary database and applying those changes to a replicate database while the replicate database remains on-line and available for use, the method comprising:
-
monitoring transactions occurring at the primary database for detecting changes made to the primary database; recording information about transactions observed to have occurred at the primary database in a transaction log; synchronously copying the information about the transactions recorded in the transaction log to a remote site, so as to create at the remote site a mirrored transaction log that is guaranteed to contain at a synchronized point in time an exact copy of the transactions recorded in the transaction log at the primary database; copying database schema from the primary database to the remote site when the database schema is determined to be modified, to enable transactions to be reconstructed and applied at the replicate database; wherein said monitoring and recording steps occur at a primary site; wherein, while the replicate database remains on-line and available for use, changes made at the primary database are replicated to the replicate database by; said transactions at the replicate database being reconstructed based on the information about the transactions copied to the mirrored transaction log, the information including database schema of the primary database identified as modified and copied to the remote site; and the reconstructed transactions being asynchronously applied at the replicate database; wherein the primary site and remote site are different physical locations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for replicating transactions from a source database to a standby database, the system comprising:
-
source and standby databases sharing a common schema, the source database having a transaction log for recording log records for transactions performed at the source database, wherein the transaction log is at a primary site; a mirrored transaction log operable to record mirror copies of the log records for transactions performed at the source database, so as to create at a remote site an exact synchronous copy of the transaction log at a given point in time; a file mirroring module operable to synchronously replicate log records from the transaction log to the mirrored transaction log as transactions are performed at the source database; database schema for the source database, wherein the database schema is copied to the remote site to enable transactions to be reconstructed and applied at the standby database; a log reader module at the remote site operable to read log records in the mirrored transaction log and reconstruct transactions for application to the standby database based upon the database schema and log records in the mirrored transaction log; a distribution module operable to asynchronously apply the transactions reconstructed by the log reader module to the standby database; and a module operable to determine that the database schema of the primary database has been modified, and copy the modified database schema to the remote site; wherein both the source and standby databases remain on-line for use while transactions are replicated from one to the other; and wherein the primary site and remote site are different physical locations. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for replicating database operations from a first database to a second database while making the second database available for decision support purposes, the method comprising:
-
copying database schema from the first database to the second database prior to performing an operation at the first database; as database operations are performed at the first database, generating a first set of log records characterizing said operations and recording them in a first log, so that the first log reflects all changes made to the first database, wherein the first log and first database are located at a primary site; as the first set of log records are recorded in the first log, synchronously recording in a second log located at a remote site a second set of log records that comprise an exact copy of the first set of log records, so that said second log comprises at a synchronized point in time an exact copy of said first log; and wherein, while the second database is available for decision support purposes, said operations performed at the first database are asynchronously replicated at the second database by asynchronously performing the substeps of; constructing replicate operations based, at least in part, on said second set of log records recorded in the second log and said database schema; and applying the replicate operations at the second database; wherein the primary site and the remote site are different physical locations. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A method for replicating transactions from a primary database to a replicate database while the replicate database remains available for use, the primary database and the replicate database sharing a common schema, the method comprising:
-
recording log records for transactions being performed at a primary database in a primary transaction log at a primary site; synchronously creating a mirrored transaction log at a remote site, the mirrored transaction log comprising an exact and synchronized copy of the log records in the primary transaction log; copying database schema from the primary database to the remote site to enable transactions to be reconstructed and applied at the replicate database when the database schema is determined to be modified; generating reconstructed transactions based on the copies of the log records in the mirrored transaction log and the copied database schema at the remote site; and asynchronously applying the reconstructed transactions at the replicate database while the replicate database remains available for use; wherein the primary site and the remote site are different physical locations.
-
-
37. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more processors cause the one or more processors to perform operations comprising:
-
monitoring transactions occurring at the primary database for detecting changes made to the primary database; recording information about transactions observed to have occurred at the primary database in a transaction log; synchronously copying the information about the transactions recorded in the transaction log to a remote site, so as to create at the remote site a mirrored transaction log that is guaranteed to contain at a synchronized point in time an exact copy of the transactions recorded in the transaction log at the primary database; copying, database schema from the primary database to the remote site to enable transactions to be reconstructed and applied at the replicate database when the database schema is determined to be modified; wherein said monitoring and recording steps occur at a primary site; wherein, while the replicate database remains on-line and available for use, changes made at the primary database are replicated to the replicate database by; said transactions at the replicate database being reconstructed based on the information about the transactions copied to the mirrored transaction log, the information including database schema of the primary database identified as modified and copied to the remote site; and the reconstructed transactions being asynchronously applied at the replicate database; wherein the primary site and remote site are different physical locations.
-
Specification