Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
Good list -- could combine 1 & 2, or could consider creating the indexes prior to the insert if they are few in number and the total size of indexed column data is small relative to total size of table data.
@haki Do you want your i/o from files outside the database of from tables inside? If you get the loading design right with external tables, you read them once and perform all of your loading in as few queries as possible -- with SQL*Loader you have to use an external scheduling tool, load into a table with minimum flexibility on data transformations, and then query the data again after it's loaded. External tables are superior in almost every respect.
@ThinkJet Maybe it was true a long time ago -- I don't think it has been for quite some time if it ever was. Null numbers take up one byte of space in a row, which is just the marker for the new column, so there's no room in there for the representation of NULL as a number of any form.