Re: Is oracle 8 joking with me?
Date: 1999/11/25
Message-ID: <383C9C9E.C580A61F_at_macau.ctm.net>#1/1
"Under some circumstances, Oracle may have insufficient history information to determine whether a row has been updated ty a 'too recent' transaction. This can occur when many transactions concurrently modify the same data block, or do so in ver short perior. You can avoid this situation by setting higher values of INITRANS (at least 3) for tables that will experience many transactions updating the same blocks."
I follow it, but it doesn't work. Is it a bug?
Keng
Jonathan Lewis ず甧 :
> Inserting two rows into a table is probably
> inserting them into the same block.
>
> Serializable transactions need more guaranteed
> transaction slots in the block. Try creating the
> table with INITRANS = 2.
>
> An alternative is to set FREELISTs > 1, which
> ONLY as a side-effect may stop this problem
> as the inserts may happen to go to different
> blocks.
>
> (There is a note somewhere in one of the manuals
> that you need to increase INITRANS when using
> serializable transactions, but I can't remember
> which manual it's in)
>
> --
>
> Jonathan Lewis
> Yet another Oracle-related web site: http://www.jlcomp.demon.co.uk
>
> KengLao wrote in message <383A6A0F.327D70F9_at_macau.ctm.net>...
> >
> >"Is oracle 8 joking with me?", I think, when I try to do
> >concurrent update, I've always got "can't serialize access
> >for this transaction". I am sure the transactions modify the
> >different data rows. As the online document, Oracle8
> >Server Concepts, said :
> >
> > "Oracle generates an error when a serializable transaction
> > tries to update or delete data modified by a transaction
> > that commits after the serializable transaction began:
> >
> > ORA-08177: Cannot serialize access for this transaction
> > "
> >
Received on Thu Nov 25 1999 - 00:00:00 CET