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

Home -> Community -> Usenet -> c.d.o.misc -> Is oracle 8 joking with me?

Is oracle 8 joking with me?

From: KengLao <lklao_at_macau.ctm.net>
Date: Tue, 23 Nov 1999 18:18:55 +0800
Message-ID: <383A6A0F.327D70F9@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
"

So, I think this kind of error should never occur in my case, but actually it does.

A test sample is as follows. If you are interested in it, just try it.


Transaction 1
  create table tablename ( rec# decimal(2), descri varchar2(10) );   alter session set isolation_level = serializable;   insert into tablename ( rec# ) values (1);   commit;
  select * from tablename where rec#=1;

Transaction 2
  alter session set isolation_level = serializable;   insert into tablename ( rec# ) values (2);   commit;

  select * from tablename where rec#=2;   update tablename set descri='record 2' where rec#=2;   commit;

Transaction 1
  update tablename set descri='record 1' where rec#=1;   <<RA-08177: Cannot serialize access for this transaction>>


Enjoy it.
Keng Received on Tue Nov 23 1999 - 04:18:55 CST

Original text of this message

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