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 -> 8.1.7: Inserted rows not found for update within transaction.

8.1.7: Inserted rows not found for update within transaction.

From: martin <martin_folb_at_puresolv.com>
Date: 3 Jan 2002 17:01:34 -0800
Message-ID: <5600154e.0201031701.13eb2ad3@posting.google.com>


We are using WebSphere 3.5 talking to Oracle 8.1.7. We are experiencing the following problem which we have managed to conclude is caused by a primary key index on the tables.

WebSphere, or EJB 1.x specifically adds rows to the database by first doing an INSERT of the row with the primary key, and then within the same transaction does an UPDATE on the same row with the row values. When multiple of these INSERT - UPDATE operations take place in a transaction, and the primary key index on the table switches from on LEAF_BLOCK to the next, ie. the index fills up (this is at 571 rows on Windows 2000 with default extends), Oracle trys to UPDATE the rows it INSERTed previously which are in the first LEAF_BLOCK, but cannot find them, causing the UPDATE to retrun a row count of zero and the result is rows in the database which were inserted but never updated. We call these 'naked rows' as they have no values other than the primary key.

If we remove the primary key index, the problem goes away.

Any advice or ideas on how we can solve this problem? Is this a known bug in Oracle 8.1.7? Help.

Martin Folb
WGCUSA
(510) 812-6439 Received on Thu Jan 03 2002 - 19:01:34 CST

Original text of this message

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