Resynchronization of multiple copies of a database after a divergence in transaction history
First Claim
1. A method for resynchronizing multiple copies of a database after a divergence in transaction history, the database, D1, and its copies, D1′
- , having database pages, logs, and log records, comprising;
identifying a point when the divergence in transaction history occurred using the database and database copy logs, the point represented by a fail over log sequence number (FOLSN), wherein the divergence in transaction history comprises at least one of;
a condition in which D1 fails for a period of time during which D1′
remainsoperational, and D1 is brought back online;
ora condition in which D1 has provided data to the database and the data has not beenreceived by D1′
; and
processing the database log records created after the divergence in transaction history to populate from D1 to D1′
or from D1′
to D1 changes and identified content, the log records having log sequence numbers for use in processing.
4 Assignments
0 Petitions
Accused Products
Abstract
The resynchronization of multiple copies of a database after a divergence in transaction history in provided. In an illustrative implementation, algorithms are provided for synchronizing multiple copies of a database upon the occurrence of a divergence in transaction history. A data environment is provided having a database and a copy. The database environment operating in a manner where the database records some transactions and the copy recording some later transactions, but neither having an up-to-date set of data or log of data changes. In operation, the database and its copy compare transaction log sequence numbers to discern the changes database and/or database copy pages. During resynchronization, the database and/or its copy sends page specific information about changes that have not been performed on each other respectively. In this manner, the data environment may be resynchronized with minimal data transmitted and without a requiring a complete restoration of the database.
21 Citations
46 Claims
-
1. A method for resynchronizing multiple copies of a database after a divergence in transaction history, the database, D1, and its copies, D1′
- , having database pages, logs, and log records, comprising;
identifying a point when the divergence in transaction history occurred using the database and database copy logs, the point represented by a fail over log sequence number (FOLSN), wherein the divergence in transaction history comprises at least one of; a condition in which D1 fails for a period of time during which D1′
remainsoperational, and D1 is brought back online;
ora condition in which D1 has provided data to the database and the data has not been received by D1′
; andprocessing the database log records created after the divergence in transaction history to populate from D1 to D1′
or from D1′
to D1 changes and identified content, the log records having log sequence numbers for use in processing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
- , having database pages, logs, and log records, comprising;
-
22. A system for resynchronization of a database having multiple copies after an occurrence of a divergence in transaction history comprising:
-
database log records, the database log records comprising log sequence numbers representative of database operations and transactions; a means for identifying a point of the divergence in transaction history, operating on the database log records and log sequence numbers to identify the divergence in transaction history, wherein the divergence in transaction history comprises at least one of; a condition in which D1 fails for a period of time during which D1′
remainsoperational, and D1 is brought back online;
ora condition in which D1 has provided data to the database and the data has not been received by D1′
; anda means for comparing information about the log records, the means for comparing using page sequence numbers and fail over sequence numbers to determine if changes have been made to the log records after the divergence in transaction history. - View Dependent Claims (23, 24)
-
-
25. A method for resynchronizing multiple copies of a database after a divergence in transaction history, the database, D1 operating on server computer S1, and its copies, D1′
- operating on server computers S2, having database pages, logs, and log records, comprising;
identifying the divergence in transaction history, the divergence represented by a log sequence number (LSN), wherein the divergence in transaction history comprises at least one of; a condition in which D1 fails for a period of time during which D1′
remainsoperational, and D1 is brought back online;
ora condition in which D1 has provided data to the database and the data has not been received by D1′
;on the server computer being recovered, scanning a log file to identify a set of pages to be replaced; replacing those pages on the server computer being recovered with their images from a non-recovering server computer; rolling forward a transaction log from a last checkpoint through a failover LSN on any of those pages being replaced on the server computer being recovered; copying the log and log records from the non-recovering server computer from the failover LSN to a maximum LSN; and replaying the copied log records.
- operating on server computers S2, having database pages, logs, and log records, comprising;
-
26. A method for resynchronizing multiple copies of a database after a divergence in transaction history, the database, D1, and its copies, D1′
- , having database pages, logs, and log records, comprising;
identifying a point when the divergence in transaction history occurred using the database and database copy logs, the divergence represented by a fail over log sequence number (FOLSN), wherein the divergence in transaction history comprises at least one of; a condition in which D1 fails for a period of time during which D1′
remainsoperational, and D1 is brought back online;
ora condition in which D1 has provided data to the database and the data has not been received by D1′
;creating a list of pages having been changed; and processing the database log records created after the divergence in transaction history to populate from D1 to D1′
or from D1′
to D1 changes and identified content, the log records having log sequence numbers for use in processing. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
- , having database pages, logs, and log records, comprising;
Specification