TCP KeepAlive
Assurez-vous que TCP KeepAlive est correctement défini pour votre environnement. Reportez-vous à la documentation de votre système d'exploitation pour les détails.
DCD pour les serveurs de
base de données Pour les connexions de base de données, l'un des points de terminaison est un programme d'écoute passif, qu'il s'agisse d'un processus dédié ou d'un processus de répartiteur. Si la connexion devient noir, ce backend ne saura jamais que le client ne peut plus envoyer de requêtes, puis verrouillera les ressources importantes comme des sessions de base de données, des verrous et au moins un descripteur de fichier utilisé pour maintenir le socket.
Une solution consiste à rendre ce backend "pas si" passif, en utilisant le DCD (détection de connexion morte) pour déterminer si la communication est toujours possible.
Définissez simplement dans le répertoire $ ORACLE_HOME / network / admin / sqlnet.ora, côté serveur SQLNET.EXPIRE_TIME = 10 (10 minutes, par exemple). Avec ce paramètre en place, après 10 minutes d'inactivité, le serveur envoie un petit paquet de sonde de 10 octets au client. Si ce paquet n'est pas accusé de réception, la connexion sera fermée et les ressources associées seront libérées.
Ce DCD présente deux avantages:
1. Si SQLNET.EXPIRE_TIME est inférieur au délai d'attente d'inactivité de la connexion FW, le pare-feu * peut considérer ce paquet comme une activité et le délai d'inactivité (coupure du pare-feu) n'arrivera jamais. jusqu'à ce que les processus client et serveur soient tous deux actifs.
2.Si le SQLNET.EXPIRE_TIME (disons un peu plus haut) que la limite d'inactivité FW, alors, dès que la panne se produit, le SGBDR connaîtra et fermera la connexion.
Le premier cas est recommandé lorsque la connexion provient d'un autre serveur d'application et le second est logique pour les applications client.
DCD fonctionne au niveau de l'application et fonctionne également sur le protocole TCP / IP. Si vous avez défini le paramètre SQLNET.EXPIRE_TIME = 10, ne vous attendez pas à ce que les connexions soient marquées comme mortes exactement après 10 minutes de panne d'électricité ou de réseau. Veuillez vous reporter à la Note: 151972.1 "Détection de connexion morte (DCD) expliquée" pour plus de détails sur le DCD. Les valeurs TCP timeout et TCP retransmission s'ajoutent également à ce temps.