Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> PL/SQL and rollback errors
HP Unix Oracle 8.0 Enterprise Edition
I am working with 30 million rows and each time I run into ORA-1555
Oracle commits and set transaction use rollback segments have been inserted into within the cursor to no avail but ORA-1555 still shows up
I created two rollback segments minextents 20 initial next 100M and the problem still persists.
Apart from trimming the size of the files what could be done on the SQL below to avoid ORA-1555?Thanks in advance for your ideas
DECLARE
CURSOR speculate IS
SELECT numbers, keynumber, details, rowid FROM user1.details WHERE status is null; speculate_rec speculate%ROWTYPE;BEGIN
FETCH speculate INTO speculate_rec; EXIT WHEN speculate%NOTFOUND; UPDATE user2.details SET details = speculate_rec.details WHERE (numbers = speculate_rec.numbers AND keynumber = speculate_rec.keynumber); IF SQL%NOTFOUND THEN INSERT INTO user2.details
(numbers, keynumber, details)
VALUES
(speculate_rec.numbers, speculate_rec.keynumber,
speculate_rec.details); UPDATE user1.details SET status = 'INSERT' WHERE rowid = speculate_rec.rowid; ELSE UPDATE user1.details SET status = 'UPDATE' WHERE rowid = speculate_rec.rowid; END IF; COMMIT; END LOOP; CLOSE speculate;
![]() |
![]() |