An automated method used during replacement of a currently operating data replication engine in a first system with a new data replication engine in the first system in a bidirectional data replication environment, the currently operating data replication engine in the first system and the new data replication engine in the first system replicating first database transactions from an audit trail of a first database in the first system to a second database in a second system, the method comprising replacing the currently operating data replication engine in the first system with the new data replication engine in the first system, the replacing comprising the steps of:
- (a) the new data replication engine in the first system:
- (i) generating a list of active database transactions in the first system, and
- (ii) sending the list of active database transactions to the new data replication engine in the second system as a first token;
- (b) in the new data replication engine in the second system:
- (i) receiving the first token sent in step (a)(ii),
- (ii) fetching a transaction event from an audit trail of second database, and
- (iii) replicating the fetched transaction event to the new data replication engine of the first system when the fetched transaction event does not match a transaction on the list in the first token;
- (c) repeating step (b)(ii) and (b)(iii) during operation of the new data replication engine of the second system;
- and
- (d) stopping the currently operating data replication engine in the first system from replicating first database transactions when all of the transactions on the list of active database transactions generated in step (a)(i) have been replicated to the second system,
- thereby facilitating replacement of the currently operating data replication engine in the first system with the new data replication engine in the first system, without application downtime and while avoiding data oscillations of transactions on the list of active database transactions generated in step (a)(i).