Snapshot too old error
391484Apr 2 2003 — edited Apr 4 2003I am experiencing a problem within a PL/SQL procedure called from within another procedure within a package. This procedure reads from a large table (390,000 entries) within a loop, and depending on certain criteria, writes to other tables within that loop. A commit is done every 1000 records too avoid running out of temp space.
I ran a query script(containing a group by) against the large table whilst this was going on, and the PL/SQL procedure fell over with a snapshot too old error. Surely this would only happen if my second script that ran at the same time was attempting an update?
I often experience 1002 errors within this code also.
I realise the perfect way to process these records would be to leave the commit until the loop is finished, but our DBAs argue that there the rollback segments cannot be allowed to be this big?
Does anybody have any experience of this or any suggestions, as they would gratefully received.
Cheers,
Martin.