Database system configured for automatic failover with no data loss
First Claim
1. An automatic failover configuration comprising:
- configuration participants includinga primary database system that produces redo data,a standby database system that receives the redo data, andan observer;
each participant including processor that has access to memory,a messaging system for sending and receiving messages among the participants, andin each participant, a copy in the memory of configuration state of the automatic failover configuration that specifies one of a plurality of configuration states, the messages being used to propagate a most recent configuration state among the participants and each configuration state including a monotonically increasing version number, a more recent configuration state being a configuration state that has a higher version number,a message from a participant to another participant including the most recent configuration state known to the participant andif the other participant knows of a more recent configuration state, a reply by the other participant to the message, the reply containing the more recent configuration state; and
a participant responding to a message or a reply with a more recent configuration state by setting its copy of the configuration state to the more recent configuration state.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques used in an automatic failover configuration having a primary database system, a standby database system, and an observer for preventing divergence among the primary and standby database systems while increasing the availability of the primary database system. In the automatic failover configuration, the primary database system remains available even in the absence of both the standby and the observer as long as the standby and the observer become absent sequentially. The failover configuration further permits automatic failover only when the observer is present and the standby and the primary are synchronized and inhibits state changes during failover. The database systems and the observer have copies of failover configuration state and the techniques include techniques for propagating the most recent version of the state among the databases and the observer and techniques for using carefully-ordered writes to ensure that state changes are propagated in a fashion which prevents divergence.
37 Citations
15 Claims
-
1. An automatic failover configuration comprising:
-
configuration participants including a primary database system that produces redo data, a standby database system that receives the redo data, and an observer; each participant including processor that has access to memory, a messaging system for sending and receiving messages among the participants, and in each participant, a copy in the memory of configuration state of the automatic failover configuration that specifies one of a plurality of configuration states, the messages being used to propagate a most recent configuration state among the participants and each configuration state including a monotonically increasing version number, a more recent configuration state being a configuration state that has a higher version number, a message from a participant to another participant including the most recent configuration state known to the participant and if the other participant knows of a more recent configuration state, a reply by the other participant to the message, the reply containing the more recent configuration state; and a participant responding to a message or a reply with a more recent configuration state by setting its copy of the configuration state to the more recent configuration state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of preventing automatic failover from resulting in divergence among database systems in an automatic failover configuration, the automatic failover configuration having
participants including a first database system, a second database system, and an observer, each participant including a processor that has access to memory including persistent memory, in each participant, a copy of a configuration state value that specifies one of a plurality of configuration states of the automatic failover configuration, each configuration state value including a monotonically increasing version number, a more recent configuration state value being a configuration state value that has a higher version number, and a messaging system for sending and receiving messages among the participants, the method comprising the steps performed in a participant of the participants of: -
on receiving a first message from another participant that includes the most recent configuration state value known to the other participant at the time the received message was sent, comparing the received most recent configuration state value with the most recent configuration state value then known to the participant and thereupon if the known most recent configuration state value is less recent than the received most recent configuration state value, copying the received most recent configuration state value as the known most recent configuration state value and if the known most recent configuration state value is more recent than the received most recent configuration state value, sending a second message with the known most recent configuration state to the other participant and the method further comprising the steps performed in the participant during a transition from one of the plurality of configuration states to another configuration state thereof in which divergence among the database systems is possible of determining that another participant has saved the configuration state value for the other configuration state in its persistent memory; and
thereuponsaving the configuration state value for the other configuration state in the participant'"'"'s persistent memory. - View Dependent Claims (13, 14, 15)
-
Specification