Transaction 2 queries the salaries for employees Banda, Greene, and Hintz.
The Hintz insert committed by transaction 1 is now visible to transaction 2.
Transactions executing simultaneously must produce meaningful and consistent results. A serializable transaction operates in an environment that makes it appear as if no other users were modifying data in the database.
While this degree of isolation between transactions is generally desirable, running many applications in serializable mode can seriously compromise application throughput.
The database can use snapshots of data at different points in time to provide read-consistent views of the data and enable nonblocking queries.
Read consistency is guaranteed in single-instance and Oracle Real Application Clusters (Oracle RAC) environments.
A query in a read committed transaction avoids reading data that commits while the query is in progress.
For example, a function could access a table whose data is changed and committed by another user.
For each execution of the Transaction 2 queries the salaries for employees Banda, Greene, and Hintz.
In a single-user database, a user can modify data without concern for other users modifying the same data at the same time.
However, in a multiuser database, statements within multiple simultaneous transactions may update the same data.