Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Thread Time Out (ORA-2049)
KK via OracleMonster.com wrote:
> >>Which Transaction? No changes have been made in the case of row not
> >>found, according to your description.
>
> No changes are made, i.e. no row is inserted in Table B, when no
row is found in Table A. I have simplified the situation a little bit.
Since there are other things going on in the process, we set the
Transaction to roll back, if an exception is thrown in any part of the
process.
>
> >>Which indicates that the row is locked. 2 things have probably
already
> >>gone wrong here ;
> >>1) Process (x) has locked the row in table A. Not necessary. It's
a
> >>simple read.
> >>2)After having unnecessarily locked the row, process (x) does not
> >>release the lock, though you state that (X) rolls back. Ensure that
it
> >>does release the lock, e.g. issu a "rollback" explicitly in your
code.
>
> And this is the puzzling piece. We are using 'committed read' for our
locking policy, and moreover, the first transaction has already been
rolled back. We explicitly issue a 'roll back' in our code. When we
trace the functionality from the application level, the first process
(A) has rolled back and completed before the next one comes in.
>
> --
> Message posted via http://www.oraclemonster.com
Regards
/Rauf
Received on Thu Jan 06 2005 - 16:37:37 CST