parece que el problema es que tienes que eliminar millones de filas y quieres hacerlo por lotes
si es así, esto podría funcionar para usted:recorrerá y eliminará filas y confirmará para que no se quede sin deshacer y no tenga que preocuparse por bloquear filas
begin
loop
delete from xx where yyy=zzz and rownum < 1000;
exit when sql%rowcount = 0;
commit;
end loop;
commit;
end;
/