Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> snapshot too old
Hi,
I've been struggling to update this test table that has about 1.5 million rows in it. I'm getting this error message:
01555, 00000, "snapshot too old: rollback segment number %s with name \"%s\"
too small"
// *Cause: rollback records needed by a reader for consistent read are
// overwritten by other writers
// *Action: Use larger rollback segments
Below is my script. Any suggestions would be greatly appreciated.
-- declare counter number := 0; cursor c1 is select ssn from test_table; begin FOR c2 in c1 LOOP update test_table set SSN = TRANSLATE ('915482376','123456789',TRANSLATE(SSN, '1234567890','9732581406')) where ssn = c2.ssn; counter := counter + 1; IF (counter = 2500) THEN COMMIT; counter := 0; END IF; END LOOP; COMMIT; END;Received on Wed Feb 25 2004 - 22:43:06 CST
/
exit;
![]() |
![]() |