Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Is oracle 8 joking with me?
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 Tue Nov 23 1999 - 04:40:42 CST