Is oracle 8 joking with me?
Date: 1999/11/23
Message-ID: <383A6A0F.327D70F9_at_macau.ctm.net>#1/1
"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
ORA-08177: Cannot serialize access for this transaction
tries to update or delete data modified by a transaction
that commits after the serializable transaction began:
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 - 00:00:00 CET