title: Best way to delete 1 million rows in a table with many relations
body: <p>I have a set of tables where the main table has 1.5 million rows.
  One of the subchild is close to 1 million rows too.</p>
  
  <p>The data of the main table must also copied to a history table.
  I wrote a PLSQL Script to delete the children rows and subchildren rows first, but the process is taking too long, something close to 12 hrs.</p>
  
  <p>I'm using bulk collect to delete data. </p>
  
  <p>The script will be executed every monday 3am called by a Java scheduler.</p>
  
  <p>I presume that after the first mass delete(which has million rows), the process will be fast because the database will only grow close to 30k registers/week.</p>
  
  <p>What is the best solution to solve this problem?</p>