Klingt so, als ob das Problem darin besteht, dass Sie Millionen von Zeilen löschen müssen und dies daher im Bach erledigen möchten
Wenn ja, könnte dies für Sie funktionieren - es wird Zeilen durchlaufen und löschen und festschreiben, sodass Ihnen die Undo-Funktion nicht ausgeht und Sie sich keine Gedanken über das Sperren von Zeilen machen müssen
begin
loop
delete from xx where yyy=zzz and rownum < 1000;
exit when sql%rowcount = 0;
commit;
end loop;
commit;
end;
/