Inhaltsverzeichnis

SQL*Net über eine Firewall und Dead Connection Detection(DCD)

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.

Server Seitige Lösung Dead Connection Detection(DCD)

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.

Der SQL*Net Parameter SQLNET.EXPIRE_TIME

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


Oracle ab 12c

siehe Oracle Net 12c: Changes to the Functionality of Dead Connection Detection (DCD) (Doc ID 1591874.1)


Quellen

Untersuchung zu ORA-03111 error:

Metalink: