Re: Locking

From: Hans Forbrich <fuzzy.graybeard_at_gmail.com>
Date: Thu, 17 Nov 2011 15:52:00 -0500
Message-ID: <4EC573F0.90804_at_gmail.com>



Each query has an internal start record we call an SCN.

Any update is made to the live in-memory record and the time (SCN) and sufficient information to rollback each row is recorded in an undo area.

Bottom line is that a query will (effectively) compare the query SCN to the row update SCN and either use that row or will rebuild that row to the way it looked at the start of query. In this mode locks are irrelevant and effectively ignored.

(Locks are really only necessary to avoid concurrent updates and are held at the row level. No escalations occur.)

HTH On 17/11/2011 2:52 PM, Paul Harrison wrote:
> Hi All,
>
> Let's say I have 2 sessions open... session one updates a table and does not
> commit and can view the new updated data. session 2 is able to read the old
> data. How can session 2 read the old data if session 1 has an exclusive
> write lock on the table. Exclusive lock happens when updating a table?
>
>
> Thanks,
> Paul
>
> --
> http://www.freelists.org/webpage/oracle-l
>
>
>

--
http://www.freelists.org/webpage/oracle-l
Received on Thu Nov 17 2011 - 14:52:00 CST

Original text of this message