System and method for sychronizing a large database and its replica
First Claim
1. A method of synchronizing a backup database with a corresponding primary database, comprising the steps of:
- enabling one or more application programs to perform transactions that modify the primary database;
while the transactions continue to modify the primary database, generating a fuzzy database copy of a portion of the primary database by copying the primary database portion without regard to changes being made to the primary database portion while the fuzzy copy is being generated;
installing the fuzzy database copy at a backup system;
sending to the backup system audit information representing (A) all modifications to the primary database portion made by transactions that were active while the fuzzy database copy was generated and (B) all modifications to the primary database portion made by transactions first active after the fuzzy database copy was completed; and
at the backup system, receiving and applying the sent audit information to the fuzzy database copy so as to generate a synchronized backup database, by performing redos of the database modifications corresponding to the audit information sent to the backup system.
5 Assignments
0 Petitions
Accused Products
Abstract
A primary computer system maintains a master audit trail of changes made to the primary database. A fuzzy database copy of a portion of the primary database is generated by copying the primary database portion using a shared load operation so as to copy the primary database portion without regard to changes being made to the primary database portion while the fuzzy copy is being generated. The fuzzy database copy is installed at a backup computer system. An extractor process executed by the primary computer system extracts audit records from the master audit trail corresponding to the primary database portion, and sends audit information corresponding to extracted audit records to the backup system. The sent audit information includes audit information corresponding to all audit records, including both update and backout audit records, representing changes made to the primary database portion by (A) transactions while the fuzzy database copy was generated, and (B) transactions that were active while the fuzzy database copy was generated and that continue to be active thereafter. The sent audit information also includes audit information corresponding to all audit records representing updates made to the primary database portion by the transactions after the fuzzy database copy was generated. At the backup system the audit information sent by the extractor process is received and applied to the fuzzy database copy so as to generate a synchronized backup database, by performing redos of the database updates corresponding to the audit information sent to the backup system.
156 Citations
10 Claims
-
1. A method of synchronizing a backup database with a corresponding primary database, comprising the steps of:
-
enabling one or more application programs to perform transactions that modify the primary database; while the transactions continue to modify the primary database, generating a fuzzy database copy of a portion of the primary database by copying the primary database portion without regard to changes being made to the primary database portion while the fuzzy copy is being generated; installing the fuzzy database copy at a backup system; sending to the backup system audit information representing (A) all modifications to the primary database portion made by transactions that were active while the fuzzy database copy was generated and (B) all modifications to the primary database portion made by transactions first active after the fuzzy database copy was completed; and at the backup system, receiving and applying the sent audit information to the fuzzy database copy so as to generate a synchronized backup database, by performing redos of the database modifications corresponding to the audit information sent to the backup system.
-
-
2. A method of synchronizing a backup database with a corresponding primary database, comprising the steps of:
-
enabling one or more application programs to perform transactions that modify the primary database; while the transactions continue to modify the primary database, generating a fuzzy database copy of a portion of the primary database by copying the primary database portion without regard to changes being made to the primary database portion while the fuzzy copy is being generated; installing the fuzzy database copy at a backup system; sending to the backup system audit information representing modifications to the primary database portion made by transactions that were active while the fuzzy database copy was generated and modifications to the primary database portion made by transactions first active after the fuzzy database copy was completed; determining when all transactions that were active while the fuzzy database copy was generated have completed by aborting or committing, and after the audit information representing the modifications to the primary database portion made by all the transactions that were active while the fuzzy database copy was generated, sending a predefined audit information message to the backup system; at the backup system, receiving and applying the sent audit information to the fuzzy database copy so as to generate a synchronized backup database, by performing redos of the database modifications corresponding to the audit information sent to the backup system; and when all the audit information sent before the predefined audit information message has been applied to the fuzzy database copy, performing an action that indicates that the backup database has been synchronized with the primary database.
-
-
3. A method of synchronizing a backup database with a corresponding primary database, comprising the steps of:
-
enabling one or more application programs to perform transactions that modify the primary database; maintaining a master audit trail of changes made to the primary database, the master audit trail including update audit records representing updates made to the database by the transactions, backout audit records representing update backouts made to the primary database when some of the transactions abort, commit records representing the ones of the transactions that commit and abort records representing the ones of the transactions that abort; generating a fuzzy database copy of a portion of the primary database by copying the primary database portion without regard to changes being made to the primary database portion while the fuzzy copy is being generated; installing the fuzzy database copy at a backup system; sending audit information corresponding to audit records in the master audit trail to the backup system;
the audit information sent to the backup system including audit information corresponding to all audit records, including both update and backout audit records, representing changes made to the primary database portion by the transactions while the fuzzy database copy was generated, and including audit information corresponding to all audit records representing updates made to the primary database portion by the transactions after the fuzzy database copy was generated;at the backup system, receiving and applying the sent audit information to the fuzzy database copy so as to generate a synchronized backup database, by performing redos of the database updates corresponding to the audit information sent to the backup system, including; for audit information corresponding to transactions that were active while the fuzzy database copy was being generated, performing redos of all database changes, including both updates and update backouts, represented by the received audit information; and for audit information corresponding to transactions that started after the fuzzy database copy was completed, performing redos of database updates represented by the received audit information for transactions that committed. - View Dependent Claims (4, 5)
-
-
6. A distributed computer database system, comprising:
-
a primary computer system having a primary database stored on memory media associated with the primary computer system, application programs that modify the local database; a backup computer system, the backup computer system having a backup database stored on memory media associated with the backup computer system; a communication channel for sending messages between the primary computer system and the backup computer system; and means for generating a fuzzy database copy of a portion of the primary database by copying the primary database portion without regard to changes being made to the primary database portion while the fuzzy copy is being generated; means for installing the fuzzy database copy at a backup system; a process executed by the primary computer system that sends to the backup system audit information representing (A) all modifications to the primary database portion made by transactions that were active while the fuzzy database copy was generated and (B) all modifications to the primary database portion made by transactions first active after the fuzzy database copy was completed; and at the backup system, one or more processes for receiving and applying the sent audit information to the fuzzy database copy so as to generate a synchronized backup database, by performing redos of the database modifications corresponding to the audit information sent to the backup system.
-
-
7. A distributed computer database system, comprising:
-
a primary computer system having a primary database stored on memory media associated with the primary computer system, application programs that modify the local database; a backup computer system, the backup computer system having a backup database stored on memory media associated with the backup computer system; a communication channel for sending messages between the primary computer system and the backup computer system; and means for generating a fuzzy database copy of a portion of the primary database by copying the primary database portion without regard to changes being made to the primary database portion while the fuzzy copy is being generated; means for installing the fuzzy database copy at a backup system; a process executed by the primary computer system that (A) sends to the backup system audit information representing (A1) modifications to the primary database portion made by transactions that were active while the fuzzy database copy was generated and (A2) modifications to the primary database portion made by transactions first active after the fuzzy database copy was completed; and (B) determines when all transactions that were active while the fuzzy database copy was generated have completed by aborting or committing, and after the audit information representing the modifications to the primary database portion made by all the transactions that were active while the fuzzy database copy was generated, sends a predefined audit information message to the backup system; at the backup system, one or more processes for receiving and applying the sent audit information to the fuzzy database copy so as to generate a synchronized backup database, by performing redos of the database modifications corresponding to the audit information sent to the backup system; and means for performing an action that indicates that the backup database has been synchronized with the primary database, the action being performed after all the audit information sent before the predefined audit information message has been applied to the fuzzy database copy.
-
-
8. A distributed computer database system, comprising:
-
a primary computer system having a primary database stored on memory media associated with the primary computer system, application programs that modify the local database, and a transaction manager that stores audit records in a master audit trail reflecting changes made to the primary database by transactions executed under the control of one or more application programs;
each audit record having an associated audit trail position in the master audit trail;a backup computer system, the backup computer system having a backup database stored on memory media associated with the backup computer system; a communication channel for sending messages between the primary computer system and the backup computer system; and means for generating a fuzzy database copy of a portion of the primary database by copying the primary database portion without regard to changes being made to the primary database portion while the fuzzy copy is being generated; means for installing the fuzzy database copy at a backup system; an extractor process executed by the primary computer system that extracts audit records from the master audit trail and transmits the extracted audit records to the backup computer system; the audit information transmitted to the backup computer system including audit information corresponding to all audit records, including both update and backout audit records, representing changes made to a portion of the primary database by transactions while the fuzzy database copy was generated, and including audit information corresponding to all audit records representing updates made to the primary database portion by the transactions after the fuzzy database copy was generated; and updater processes, executed by the backup computer system, for receiving and applying the transmitted audit information to the fuzzy database copy so as to generate a synchronized backup database, by performing redos of the database updates corresponding to the audit information transmitted to the backup system, including; for audit information corresponding to ones of the transactions that were active while the fuzzy database copy was being generated, performing redos of all database changes, including both updates and update backouts, represented by the received audit information; and for audit information corresponding to transactions started after the fuzzy database copy was generated, performing redos of database updates represented by the received audit information for transactions that committed. - View Dependent Claims (9, 10)
-
Specification