CHECKPOINT-FREE IN LOG MINING FOR DISTRIBUTED INFORMATION SHARING
First Claim
1. A method comprising:
- receiving, at a first time, a particular start transaction record;
adding the particular start transaction record in a list, wherein the list comprises zero or more start transaction records that were added to the list before the particular start transaction record is added to the list;
receiving, at a second time that is later than the first time, a particular end transaction record that signals an end of a transaction whose beginning is signaled by the particular start transaction record;
determining whether the particular start transaction record still exists in the list;
in response to determining that the particular start transaction record still exists in the list, removing the particular start transaction record; and
in response to determining that the particular start transaction record does not exist in the list, sending the particular end transaction record to one or more apply processes.
2 Assignments
0 Petitions
Accused Products
Abstract
A checkpoint free log mining mechanism comprising a capture process and an apply process that are logically associated with each other may be provided in a database system. In an embodiment, log mining information published by the capture process to the apply process comprises a complete set of log information for each interesting transaction. A system change number of a start transaction record of a transaction may be used to represent a start time of the entire transaction. The capture and apply processes may work cooperatively to establish a safe time point in the form of a particular system change number in logs to begin mining, under various circumstances such as in an initial startup state, in a steady state, in a process restart scenario in the middle of checkpoint free log mining, or in a transition between the checkpoint mode and the checkpoint free mode.
54 Citations
18 Claims
-
1. A method comprising:
-
receiving, at a first time, a particular start transaction record; adding the particular start transaction record in a list, wherein the list comprises zero or more start transaction records that were added to the list before the particular start transaction record is added to the list; receiving, at a second time that is later than the first time, a particular end transaction record that signals an end of a transaction whose beginning is signaled by the particular start transaction record; determining whether the particular start transaction record still exists in the list; in response to determining that the particular start transaction record still exists in the list, removing the particular start transaction record; and in response to determining that the particular start transaction record does not exist in the list, sending the particular end transaction record to one or more apply processes. - View Dependent Claims (2, 10, 11)
-
-
3. A method comprising:
-
determining, for a particular period, whether a change record having a previous system change number has been sent to an apply process; and in response to determining, for the particular period, that a record comprising a previous system change number has not been sent to the apply process, performing; establishing a plurality of active transactions that are active when the particular period ends; identifying a particular active transaction in the plurality of active transactions, wherein each of the plurality of active transaction is associated with a system change number and wherein a particular system change number that is associated with the particular active transaction has the lowest value among a set of system change numbers that comprises all system change numbers that are associated with the plurality of active transactions; determining a new particular system change number that is assigned to a start transaction record of the particular active transaction; and sending a ping record to the apply process, wherein the ping record contains the new particular system change number. - View Dependent Claims (12)
-
-
4. A method comprising:
-
receiving, at a particular time when operating in a checkpoint mode, an indication to operate in a checkpoint-free mode; establishing a plurality of active transactions at the particular time; requesting an apply process to abort any changes that have been made for the plurality of active transactions; determining a particular system change number of a particular start transaction record of a particular transaction, wherein the particular transaction starts at the earliest time among the plurality of active transactions; sending the particular system change number to the apply process; and starting to operate in the checkpoint-free mode by sending one or more records to the apply process, wherein each of the one or more records is associated with a transaction that is no earlier than the particular transaction. - View Dependent Claims (5, 6, 13, 14, 15)
-
-
7. A method comprising:
-
at a particular time when operating in a checkpoint mode, receiving an indication to operate in a checkpoint-free mode; establishing a plurality of active transactions at the particular time; continuing operating in the checkpoint mode until all redo records related to all transactions that each are no later than the particular active transaction have been consumed by an apply process; identifying a particular system change number of a start transaction record, wherein the particular system change number was assigned at or immediately following the particular time; communicating the particular system change number to the apply process; and starting to operate in the checkpoint-free mode by sending one or more records, each of which has a system change number that is no lower than the particular system change number. - View Dependent Claims (16)
-
-
8. A method comprising:
-
starting up, at a first time, a capture process, wherein the capture process is associated with an apply process, and wherein the apply process has not set a particular system change number as the lowest value for all subsequent system change numbers; establishing a plurality of active transactions at the first time, wherein each of start transaction records of the plurality of active transactions is assigned a system change number; waiting until a second time when all of the plurality of active transactions become complete; communicating a first system change number to the apply process; determining a particular transaction whose start transaction record was assigned the first system change number; and starting to operate in the checkpoint-free mode by sending one or more records to the apply process, wherein each of the one or more records is associated with a transaction that is no earlier than the particular transaction. - View Dependent Claims (17)
-
-
9. A method comprising:
-
reestablishing an association with an apply process, wherein the apply process stores a particular system change number as the lowest value for all subsequent system change numbers; receiving the particular system change number from the apply process; establishing a plurality of active transactions at a particular time, wherein the particular time corresponding to a beginning of a particular transaction that is associated with the particular system change number, and wherein the plurality of active transactions excludes the particular transaction whose start transaction records is assigned with the particular system change number; receiving one or more records that are related to the plurality of active transactions; preventing sending the one or more records to the apply process. - View Dependent Claims (18)
-
Specification