To be safe:
expire_time = 15 SQLNET.INBOUND_CONNECT_TIMEOUT = 60 SQLNET.RECV_TIMEOUT = 60 SQLNET.SEND_TIMEOUT = 60 Combine expire_time with inbound timeouts to protect against both idle zombies and hung network I/O. expire_time in Oracle 19c is a small parameter with a massive impact on stability. It requires no application changes, adds minimal overhead (one tiny packet every N minutes), and prevents orphaned sessions from ruining your database health.
grep expire_time $ORACLE_HOME/network/admin/sqlnet.ora If it returns nothing, add expire_time = 10 and sleep better tonight. Have you seen unexpected session cleanup due to network latency? Or do you combine expire_time with DCD on the listener? Share your experience below! expire_time sqlnet.ora 19c
In Oracle 19c, the classic Dead Connection Detection (DCD) mechanism, configured via expire_time in sqlnet.ora , remains the most reliable way to solve this.
One of the most frustrating issues for any DBA or application owner is the dreaded "hung session" — a database connection that appears active but is actually dead due to a network failure, firewall timeout, or client crash. To be safe: expire_time = 15 SQLNET
The value is in . A setting of 10 means the server will send a probe every 10 minutes. 3. Restart Listener (Not Required, but Recommended) Actually, sqlnet.ora changes take effect for new connections only . Existing sessions will not inherit the new setting.
lsnrctl stop lsnrctl start Check an active session’s DCD setting: grep expire_time $ORACLE_HOME/network/admin/sqlnet
lsnrctl reload Or for a clean start: