Merging CSV data into database
It appears that you are reading records from a file, processing them in some way and then using the processed data to insert records into a table. Some of the processing involves getting data out of the database.

It looks like you are creating one insert statement for each row from the source file.

I think you would be more likely to get better performance if you broke the processing up into two parts. First, read the file, process the data and create the final version that is going to go into the database. Then, in a separate operation, load the data into the database.

In the first part of the process, you may be able to find ways to improve the performance by caching query results.

You may be able to write the results of the processing out to a temporary file that can be easily imported using an Oracle tool. This question may be helpful