Start 03/2014
Soll über eine „normale“ Firewall ohne weitere Einstellung das SQL*Net Protokoll gefahren werden, kann es zu so einigen Problemen mit Verbindungsabbrüchen kommen.
Eigentliches Ziel des DCD ist es von der Server Seite zu erkennen ob der Client Prozess sich abgemeldet hat und der dazu gehörige Server Prozess abgebaut werden kann.
Das Feature kann aber auch dazu verwendet werden die FW offen zu halten, da dann x Minuten dann ein Packet an den Client gesandt wird.
Parameter SQLNET.EXPIRE_TIME = x (Minuten) in der sqlnet.ora des DB Servers setzen.
Damit auch wirklich die richtige sqlnet.ora in Cluster Umgebungen und Umgebung mit eigenen Listener Oracle Home zum Zuge kommt, beide sqlnet.ora Dateien, die vom DB Server Oracle Home und die vom Listener editieren!
Listener verwendet immer das Verzeichniss in dem auch die listner.ora gefunden wird:
lsnrctl status LISTENER ... Listener Parameter File /u01/oracle/grid/11.2.0.3/network/admin/listener.ora ...
Der Datenbank Server Prozess verwendet die sqlnet.ora im $ORACLE_HOME/network/admin Verzeichnis der DB Software! ( getestet auf Oracle RAC auf einer exdata Maschine).
siehe auch in der Orginal Dokumentation SQLNET.EXPIRE_TIME
siehe Oracle Net 12c: Changes to the Functionality of Dead Connection Detection (DCD) (Doc ID 1591874.1)
Untersuchung zu ORA-03111 error:
Metalink: