Index optimization is not an easy question. You can COALESCE index to eliminate neighboring empty blocks, and you can EXECUTE the index to completely destroy and recreate it. In my opinion, what you might want to do during the data loading period does the UNUSABLE indexes, and then when you are done, reload them.
ALTER INDEX my_table_idx01 DISABLE;
You want to get statistics only once when this is done, and this is done with a DBMS_STATS call, for example:
EXEC DBMS_STATS.GATHER_TABLE_STATS ('my_schema', 'my_table');
source share