I thought that since application continues running fine after I restart it, I would try creating a separate connection for each insert statement, and then disconnect when it's completed. However, this had the same problem. It would connect, insert, and disconnect several hundred times, and then at random point it would connect, and insert would get stuck again. I am running out of ideas on how to fix this issue. I had a suggestion to go back to non-partitioned tables with partitioned index, but I would prefer not to do this. Is there anything else I can do to fix this problem? Thanks.