hai,
here is the small pl/sql script to delte the records with intermediary commits.

declare
x number := 0;
begin
for i in 1..5
loop
x := x+500;
delete from dept where rownum < x;
commit;
end loop;
end;
/

note:
that proc only 5 times in loop, i.e. if in ur table there are 2500 rows are there, then it will be delete 5 times, at each time it deletes 500 rows. If assume 3000 rows are there then still in ur table 500 records existed,i.e., its deletes only 2500 rows. so according to ur rows u may increase the loop capacity.

If loop 1..6 then all rows are existed, vice versa..

good luck
bye