I insert data from external table to my table that is range partitioned and have two local indexes.
My case,
I have to insert records under 60 seconds for each flat file because new one comes.
A flat file consists +5 M records and 2 GB.(volume : Totally 5 billion records daily ) Additionally I do some sort operations before insert on external table select.
My environment is on Oracle ExaData X-5 12.2 version.
There are many process doing insert to same table simultaneously so I can not use append hint. I can use parallel and nologging hints.
I have .exe that manages all this process. It gets flat files from source then combines them if there is one more flat files then moves combined file to true directory for external table and calls a procedure to insert data from external table to my table. Lastly changes flat file with next one.
There is one .exe for each different flat file.
All select operation takes 35-40 seconds from external table but insert takes too much times 50-60 seconds.
Can you give me some useful advices?