Lately in a project we had a lot of problems with idle database sessions. It turns out that the DBA did not configure any timeout for the oracle database for idle or dead sessions.
This is done with the PMON process, and via SQL*Net, by the sqlnet_expire_time parameter.
In your sqlnet.ora file add the setting
which will poll the SQL*Net client every two minutes and disconnect the session if there is no activity.
For PMON you can buy the according Oracle DBA scripts from Burlesonâ€™s website: