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

Re: INITRANS and MAXTRANS

From: Howard J. Rogers <hjr_at_dizwell.com>
Date: Fri, 26 Nov 2004 06:01:55 +1100
Message-ID: <41a62c19$0$17539$afc38c87@news.optusnet.com.au>


qwerty wrote:
> Hi,
> i need explanations about the initrans and maxtrans parameters, in
> particular what happens when the initrans is exceded when the maxtrans is
> still respected??.

INITRANS is the *initial* number of transaction slots. It's designed to be exceeded on a regular basis. It merely indicates the lowest level of concurrency you are expecting for a segment... it doesn't mean Oracle isn't expecting you to have higher degrees of concurrency.

> For example what happens when initrans = 1 and maxtrans = 100 and the number
> of transaction on a block is 2, as far i know, oracle can let 2 transaction
> on the same block if there is enough space in the block in order to kepp
> track of the transaction.

With INITRANS of 1, one transaction only is guaranteed to be built into the header of every block of the segment. But provided there is free space in the block which the block header can grow 'down' into, then more transaction slots can be acquired. As many as are needed, in fact, until the block runs out of space or you hit MAXTRANS.

> But what happen when there isn't enough space in
> the block ??? an exception occur ??

A buffer busy wait. You queue up for access to a freed transaction slot. That's measured as a wait on the system.

> may the low initrans cause a deadlock
> (2 session locking 2 blocks....) ??

No. Deadlocks are caused by two transactions trying to lock each others rows. Nothing to do with this at all.

Regards
HJR
> Thanks ....
Received on Thu Nov 25 2004 - 13:01:55 CST

Original text of this message

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