This illustration shows messages with data dependencies being shared between a source and destination database. At the source database, two sessions are enqueuing messages in the following sequence:
Session 1 enqueues message e1 as part of transaction T1. Message e1 contains an insert of a row into the hr.departments
table.
Session 2 enqueues message e2 as part of transaction T2. Message e2 contains an insert of a row into the hr.employees
table for the employee with an employee_id
of 207
.
Session 1 enqueues message e3 as part of transaction T1. Message e3 contains an update to a row in the hr.employees
table for the employee with an employee_id
of 207
.
Session 3 dequeues messages from the source database to the destination database. The messages are dequeued in the following order:
Message e1 is dequeued, and the change is applied successfully.
Message e3 is dequeued, and an error results because no data is found for an employee with an employee_id
of 207
.
Message e2 is dequeued, and the change is applied. The result is that incorrect information is in the hr.employees
table for the employee with an employee_id
of 207
.