Оптимизация индекса - сложный вопрос. Вы можете COALESCE индекс, чтобы удалить соседние пустые блоки, и вы можете REBUILD индекс, чтобы полностью удалить и восстановить его. По моему мнению, то, что вы, возможно, захотите сделать в течение периода загрузки данных, - сделать индексы НЕПРАВИЛЬНЫМИ, а затем, когда вы закончите, СДЕЛАТЬ их.
ALTER INDEX my_table_idx01 DISABLE;
-- run loader process
ALTER INDEX my_table_idx01 REBUILD;
Вы хотите собирать статистику только один раз, когда закончите, и это делается с помощью вызова DBMS_STATS, например:
EXEC DBMS_STATS.GATHER_TABLE_STATS ('my_schema', 'my_table');