Application has been timed out or disconnected automatically from database if application is not actively using database connection for more than 5 minutes.
It is a firewall issue which disconnects all inactive transactions after certain time of inactivity.
To overcome the application timeout issue, automatic application disconnection from database after some time of inactivity we need to send firewall some sort of heartbeat message. This heartbeat communication tells firewall that the application is still alive and will resume its activity. It ensures that the application is not automatically disconnected from database.
The following parameter in sqlnet.ora helps us to send alive message to firewall.
The sqlnet.expire_time parameter will send a packet every 2 minutes which in terms will be presented to firewall as if client server communication is still active.
The above parameter in sqlnet.ora will send the heartbeat to firewall every 2 minutes.
This is a very small packet of information and as such does not impact the network performance.
Based on network traffic and timeout occurrence the sqlnet.expire_time value can be optimized for better performance.
The application timeout issue is reported in Oracle 11gR2 database (18.104.22.168.0) with patchset upto 12 in a windows server 2003 OS.
In a development environment or test environment developers often go for a meeting for say 15 minutes and expects the database connection from their application to be alive next time they start working. sqlnet.expire_time parameter in sqlnet.ora is handy to make database connection active.