I am working with oracle DB with not much experience in Java. AM trying to understand an exception (recurring) and how to avoid it
There is a monthly job, which calls the java program, and that Java program interacts with Oracle DB. Every month the program is interrupted with a exception "Connection reset by peer". All I know about the Java program is it has 20 threads and it hits the DB to fetch/insert data.
I copied the data from prod to test environment and ran the same process. There was no issues.
Could it be possible that the configuration in Prod and Dev are different ?
- I checked the idle time and connect time in both environments, They were set as unlimited
I checked the open_cursor limit and they were same, in prod and test env.
I reduced the open_cursor from 10k to 5k in lower environment, then I got maximum open_cursor exception. I found that few connections made to the DB was not closed properly. We fixed that in the code and ran it successfully in test environment (with open_cursor as 5K).
I want to know,
- Should I check which configuration/parameter made it run in test env?
- Will abandoning connections result in Connection reset by peer exception?
- Test env is least used and prod DB is used by many jobs. Is that making a difference?