изглежда проблемът е, че трябва да изтриете милиони редове и затова искате да го направите на пакети
ако е така, това може да свърши работа за вас -- ще премине през цикъл и ще изтрие редове и ще извърши ангажимент, така че да не ви свърши отмяната и да не се налага да се притеснявате за заключване на редове
begin
loop
delete from xx where yyy=zzz and rownum < 1000;
exit when sql%rowcount = 0;
commit;
end loop;
commit;
end;
/