wygląda na to, że problem polega na tym, że musisz usunąć miliony wierszy, a więc chcesz to zrobić w bachach
jeśli tak, może to zadziałać dla Ciebie - będzie przechodzić przez pętlę, usuwać wiersze i zatwierdzać, aby nie zabrakło cofania i nie musisz się martwić o blokowanie wierszy
begin
loop
delete from xx where yyy=zzz and rownum < 1000;
exit when sql%rowcount = 0;
commit;
end loop;
commit;
end;
/