Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: INITRANS and MAXTRANS are confusing me?

Re: INITRANS and MAXTRANS are confusing me?

From: Nuno Souto <wizofoz2k_at_yahoo.com.au>
Date: 11 Mar 2003 16:29:31 -0800
Message-ID: <73e20c6c.0303111629.7a23a2f0@posting.google.com>


w.gamble_at_pentasafe.com (Wes Gamble) wrote in message news:<37fe2b65.0303111159.ca39183_at_posting.google.com>...

>
> I just learned about INITRANS and MAXTRANS and what their purpose is.
> Why does information about the individual transactions have to be
> stored in data blocks to achieve locking? Why can't you just keep
> track of the number of transactions which are accessing data in the
> block in order to manage locking?

Just a few examples:
What if the block is being shared across two disjoint and completely separate nodes, like in Parallel Server (or RAC)? Oracle still maintains row-level locking in such a situation, but this sort of thing is needed. What if the block has been written by a user a long time ago and been flushed, but the transaction is still active? Does one keep a list of all blocks changed in a transaction in memory, or does one mark the row as having a transaction active, in the block header?

6 of one, half a dozen of the other, you might say. But one enables efficient parallel server, the other doesn't. And the information is really very small and of little overhead. I believe with 9ir2 there are some minor changes, but haven't had the time to dwell on them. Might be worth a read of the relevant "manuels". BTW, it has its merits/disadvantages. It's just an algorithm which works. So please: let's not engage on a "that one is better" argument.

> Do individual transactions have to
> be included in the block in order to satisfy Oracle's read consistency
> model?

Only a marker. Not the "entire" transaction info.

>
> If it helps to understand my confusion, I am used to the Informix
> world where lock data was centrally managed, not with the data.
>
> Pointers to relevant references are welcomed.
>

Get a hold of Steve Adam's book. It has a superb description on how Oracle achieves its row-level locking. It shows extremely well why Oracle doesn't ever need to escalate row locks to block or table locks. And it will help understand what all these things are for. BUT it can be a "dense" read, so only if you are *really* interested in learning this sort of detail. HTH Cheers
Nuno Souto
wizofoz2k_at_yahoo.com.au.nospam Received on Tue Mar 11 2003 - 18:29:31 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US