Oracle losing connection ( ORA-03114 ) after some time not using the software

oracle

After some time idle, if users try to use the our system, we receive the error:

ORA-03114 - not connected to Oracle.

I know there's a parameter called SQLNET.EXPIRE_TIME.

the recomendation is SQLNET.EXPIRE_TIME=10 but I didn't find what this 10 means.

I'm a SQL Server DBA trying to help our Oracle senior dba.

Our sqlnet.ora file is like this:

# This file is actually generated by netca. But if customers choose to 
# install "Software Only", this file wont exist and without the native 
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES = (NTS)

Shoud I add **SQLNET.EXPIRE_TIME=10** on it?

To simulate the error, if we open the software and leave it idle for 1hr, we receive the error.

IDLE_TIME is unlimited too on dba_profiles.

Best Answer

Yes, that will work. The 10 is a value in minutes (documentation link).

To specify a time interval, in minutes, to send a check to verify that client/server connections are active

The official Oracle documentation regarding DCD (Dead Connection Detection) is here.

The primary purpose of SQLNET.EXPIRE_TIME=10 is to clean up dead connections, but (I quote):

A less common usage scenario for DCD is to keep database connections alive when an external firewall timeout is configured to terminate idle connections