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 -> Re: ORA-01555 on a long select after many small txs from the same connection ?

Re: ORA-01555 on a long select after many small txs from the same connection ?

From: Fred Stojentin <stojentin_at_orgdv.din.de>
Date: Fri, 25 Jun 1999 13:03:39 GMT
Message-ID: <37737c31.18918421@news.cis.dfn.de>


Hi Nick,

this is a standard problem when using a long cursor loop and updating the rows you retrieved - directly or indirect via trigger actions or from other transactions. Keep in mind, oracle allows you to fetch across commit points without invalidating the cursor - in contrast to the ANSI standard. Try to fill a temporary table with the outer loop PKs (primary keys) and commit. Then redesign the outer loop to select from this temp table. After finishing all you can drop the table. This should avoid the ORA-01555.

On Fri, 25 Jun 1999 13:24:40 +0100, "Nick Rumble" <rumbln_at_tetraworld.com> wrote:

>I have an OCI application that issues a select statement to retrieve every
>row from a transaction table.
>
>The application fetches a row from the result set and for each of these, it
>updates a corresponding row on another table (a kind of "extension" table).
>
>Each row is processed as a separate transaction.
>
>After processing 300,000 rows (and therefore 300,000 txs), we get the 01555
>error.
>
> :
>
>Can anyone explain what is happening here ?
>
>Many thanks
>
>Nick Rumble
>
>

__
Fred Stojentin Received on Fri Jun 25 1999 - 08:03:39 CDT

Original text of this message

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