I'm looking for a way to flush the undo logs so that the UNDOTBS1 doesn't give me an error saying that my tablespace isn't large enough. I tried using a commit, but without success, it still gives me the UNDOTBS1 tablespace not large enough.
I'm aware of something like CHECKPOINT NUM, which normally allows you to flush the undo logs at the given NUM. I was wondering if there was a similar functionality for anonymous blocks in PL/SQL given that I do not have the rights to modify UNDOTBS1.
SET serveroutput ON; DECLARE --Cursor declaration CURSOR a_cur IS SELECT * FROM aTable FOR UPDATE; --Cursor row a_rec a_cur%ROWTYPE; BEGIN -- TABLE OPEN a_cur; LOOP FETCH a_cur INTO a_rec; EXIT WHEN a_cur INTO %NOTFOUND; --Update the record UPDATE aTable SET field1 = 'aVal', field2 = 'aVal', field3 = 'aVal' WHERE CURRENT OF a_cur; -- Attempting to force flush the UNDOTBS1 since it is not large enough --COMMIT; END LOOP; CLOSE a_cur; COMMIT; END;