First, you need to identify, with which user, the application is connecting to the database. Let’s say the user is TESTUSER.
Now find the value of the IDLE_TIME resource limit set in the profile of that user(TESTUSER)
select a.username,b.profile,b.RESOURCE_NAME,b.LIMIT from dba_users a, dba_profiles b where b.resource_name='IDLE_TIME' and a.profile=b.profile and a.username='&USERNAME'; USERNAME PROFILE RESOURCE_NAME LIMIT ------------- -------------- -------------------------------- -------------- TESTUSER DEFAULT IDLE_TIME 125500
Here the idle_time is set to 125500 minutes. So if the session is idle for this much time, then it will be disconnected with the error,
Solution : To fix this, alter the profile with the IDLE_TIME set to a higher value or UNLIMITED.
ALTER PROFILE DEFAULT LIMIT IDLE_TIME UNLIMITED; select a.username,b.profile,b.RESOURCE_NAME,b.LIMIT from dba_users a, dba_profiles b where b.resource_name='IDLE_TIME' and a.profile=b.profile and a.username='&USERNAME'; USERNAME PROFILE RESOURCE_NAME LIMIT ------------- -------------- -------------------------------- -------------- TESTUSER DEFAULT IDLE_TIME UNLIMITED