4. Client B commits his changes. The server process completes the operation,
which includes recording information in the data block that contained the modified
row that allows Oracle to determine the SCN for the update transaction.
5. The server process for Client A??™s read operation comes to the newly modified
block. It sees that the data block contains changes made by a transaction that
has an SCN that is later than the SCN of the SELECT statement. The server process
looks in the data block header, which has a pointer to the rollback segment
that contains the data as it existed when Client A??™s transaction started. The rollback
segment uses the old version of the data to create a version of the block as
it existed when the SELECT statement started. Client A??™s SELECT statement
reads the desired rows from this consistent version of the data block.
Figure 8-2 illustrates the process of reading with multiversion read consistency.
We explained how MVRC works with two users for the sake of clarity. But imagine a
database supporting one or more enterprise applications, with hundreds of simultaneous
users.
Pages:
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439