Negotiated Takeovers

When a takeover operation is initiated from the primary database, a negotiated takeover of the specified secondary database is performed. In a negotiated takeover, the primary database first relinquishes its role as the primary database and then requests the specified secondary database to assume the primary database role.

Before a primary database relinquishes its role, it must achieve a database quietpoint (a point in time when there are no active transactions). If a quietpoint is not achieved within the configured maximum interval to wait for a quietpoint interval (in the MaxWaitForQuietPoint parameter of the [PersistentDb] section of the JADE initialization file), the takeover operation fails.

When the primary database is ready to relinquish its role, it audits a 'change to primary' record in the current journal, closes the journal, and ships this to the specified secondary server. It is then up to the secondary database to assume the role of a primary database.

When the secondary database has replayed all transactions up to and including the 'change primary' audit record, the secondary database is then synchronized with the primary database at the takeover quietpoint. If there are no reader processes running on the secondary database at this point, it can assume the primary role immediately.

However, if reader processes are executing, the readers may hold locks that are causing the effects of one or more replayed transactions to be isolated (that is, the effects are hidden from all readers).

When initiating a negotiated takeover, you must decide between a conditional and a forced takeover. Base your decision on what is more important at the time: allowing long-running processes to complete, or the takeover because maintenance on the primary host cannot wait.