I have a delete that takes xtremely long :

DELETE FROM temp_det
WHERE EXISTS (
SELECT 1
FROM temp_orders A,
orig_cap T
WHERE
A.DT = temp_det.DT AND
A.DT = T.DT AND
A.Prod_ID = temp_det.Prod_ID AND
T.Prod_ID = temp_det.Prod_ID AND
T.orig >= temp_det.orig)
Number of rows

temp_det 872745 rows
temp_orders 8444478 rows
orig_cap 126028 rows

INDEXES

temp_orders has 2 indexes
idxa-- dt
idxb-- prod_id
idxc--st,prod_id

temp_det
idxd-- dt,prod_id
idxe--dt

Is there a way to tune this to reduce the number of
hours to run this? This process whenever run , runs as the only process allowed in the database. Can We somehow disable the rollback and redo ? Is it a good idea when noone else can access the database to disable redo & rollback?

Thanks