ऐसा लगता है कि समस्या यह है कि आपको लाखों पंक्तियों को हटाना है और इसलिए आप इसे बैचों में करना चाहते हैं
यदि ऐसा है, तो यह आपके लिए काम कर सकता है - यह लूप करेगा और पंक्तियों को हटा देगा और प्रतिबद्ध करेगा ताकि आप पूर्ववत न करें और आपको पंक्तियों को लॉक करने के बारे में चिंता करने की आवश्यकता न हो
begin
loop
delete from xx where yyy=zzz and rownum < 1000;
exit when sql%rowcount = 0;
commit;
end loop;
commit;
end;
/