if you do :

declare
n number := 0;
cursor curs is
select rowid from table;
begin
set transaction use rollback segment RBS1;
for v_curs in curs
loop
delete table where rowid = v_curs.rowid;
n:=n+1;
if mod(n,20000) = 0
then
commit;
set transaction use rollback segment RBS1;
end if;
end loop;
end;
/

it should work, no ???