Fënnefanzwanzeg Minutten nëtzlech Datebankaarbecht liwweren bal keen Output, a vun all Apparat um Wee gesäit dee Floss inaktiv aus. Den inaktiven Zoustand ass genee dat, wat agesammelt gëtt. De Bericht duerno huet ëmmer déi selwecht Form: d'Ufro ass gelaf, duerno ass d'Sessioun verschwonnen, an d'Resultat ass ni ukomm.

Véier Kontrollen entscheeden, ob eng stille Sessioun iwwerliewt, a si lafen vum Socket no baussen. Maacht se an der Rei, well jidderee geet dovun aus, datt déi virecht Schicht seng Aarbecht mécht.

Wéien Floss gëtt stëll

D'Verbindung, déi zielt, ass déi, déi den Datebanktrafic dréit, identifizéiert duerch hir eege Adressen a Porten. Naischt anescht erfrëscht se. E Ping op eng Gateway, eng zweet SQL-Verbindung vum selwechten Host an den eegene Häerzschlag vum Tunnel sinn getrennte Flëss mat getrenntem Zoustand op all Apparat, dee se verfollegt.

ss -tio dst 10.60.4.20
sysctl net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_intvl net.ipv4.tcp_keepalive_probes

D'Socket-Lëscht weist Timer a Wäitschlangezoustand fir déi lieweg Verbindung, wat méi informativ ass wéi en Erreechbarkeetstest. D'sysctl-Wäerter sinn d'Kernel-Standarder fir de Keepalive-Verhalen, an den nächsten Abschnitt erklärt, firwat se vläicht ni op Är Sessioun uwennbar sinn. Eng Standard-Astellung, déi ni ausgeléist gëtt, ass net z'ënnerscheede vun enger, déi et net gëtt.

Schreift d'Adressen, d'Porten an d'Interface op, déi d'Verbindung benotzt. Wann eng Sessioun stierft, sinn et déi Detailer, déi Iech erlaben, de richtege Apparat ze froen, wat hie gemaach huet, amplaz ze froen, ob den Netzwierk u war.

Ob d'Inaktivitéitspolitik ofleeft oder limitéiert

Zwou Politike produzéieren déi selwecht Symptomer an erfuerdere géigesätzlech Äntwerten. En Inaktivitéits-Timeout hëlt Zoustand ewech, deen qualifizéierten Trafic kéint erfrëscht hunn, an e Keepalive kann dat verhënneren. Eng absolut Sessiounslimite hëlt de Floss no enger fester Dauer ewech, onofhängeg vun der Aktivitéit, an kee Keepalive ännert dat.

Frot den Eegentümer vun all Zwëschenapparat, wéi eng vun den zwou en implementéiert. Eng Firewall, en NAT-Apparat, e Load Balancer an eng Cloud-Gateway kënnen all Zoustand halen, an si mussen net d'accord sinn. Déi engst setzt d'Frist, déi Dir musst schloen.

Dee Ënnerscheed seet Iech och, wéini Dir opmaache sollt opzedreien. Wann d'Politik eng absolut Limite ass, ass déi richteg Léisung eng méi kuerz Aarbechtseenheet, eng erëmhuelbar Aarbecht oder eng genehmegt Ausnam, an d'Kontroll hei drënner bestätegt just, datt Keepalives naischt geännert hunn.

Den Socket-Schalter hannert den Linux-Standarder

Keepalive ass pro Socket optional. D'Kernel-Standarder beschreiwen, wéi sech Sonden verhalen, nodeems e Socket de Mechanismus aktivéiert huet, an si aktivéieren en net fir bestoend Verbindungen. Eng Applikatioun, déi ni dorëms freet, kritt keng Sonden, egal wat d'sysctl-Wäerter soen.

Dofir ännert d'Erhéijung vun den Zuelen eleng naischt fir e Datebank-Client. D'Clientbibliothéik oder d'Applikatioun muss de Mechanismus aktivéieren, a wou de Stack Kontrollen pro Verbindung ubitt, gewënnt eng begrenzt Astellung géint eng Ännerung fir de ganzen Host, déi onsalent Servicer betrëfft.

Den Intervall bis zur éischter Sonde ass och keen Ufro-Timeout. Eng gesond Verbindung bleift tëschent de Sonden stëll, an e dode Peer gëtt no Sondenintervall an -zuel erkannt. Dës dräi Wäerter als een eenzegen Timeout ze liesen, ass wéi d'Leit bei Astellungen ukommen, déi e Feeler entweder vill ze spéit oder vill ze gäiflech erkennen. Si kontrolléieren d'Erkennung, net d'Gedold vun der Applikatioun.

EXPIRE_TIME ass eng Datebank-Astellung, keng Netzwierk-Reparatur

Oracle Net bitt säin eegene Liewensmechanismus, konfiguréiert am effektive Profil fir de Prozess an net an enger arbiträrer Datei, déi zoufälleg en ähnlechen Numm huet. De Wäert gëtt a Minutten ausgedréckt.

SQLNET.EXPIRE_TIME = 5

Säin Haaptzweck ass d'Entdeckung vun dode Verbindungen um Server, an op Plattformen, déi de verbessert Modell ënnerstëtzen, justéiert en och den TCP-Keepalive-Verhalen fir déi Verbindungen. Dat ass eng nëtzlech Eegenschaft: déi Datebankschicht kann Sonde virbereeden, ouni d'Clientapplikatioun ze froen, sech ze änneren.

Den illustrativen Wäert uewen ass eng koordinéiert Wiel géint eng ugeholl Frist, keng Empfehlung. Déi dokumentéiert allgemeng Leedung ass e méi laangen Intervall, an déi richteg Zuel hänkt vun der installéierter Implementatioun, dem Sondenoverhead, deen Dir akzeptéiert, an den tatsächlechen Erfrëschungsregelen um Wee of. Setzt d'Astellung an de Profil, deen de relevante Prozess liest, a bestätegt, datt de Prozess se opgeholl huet. Oracle dokumentéiert d'Profilsplazen an den Erkennungsverhalen an senger Parameterreferenz.

Test den stille Intervall, da plangt d'Erhuelung

Loosst eng nei erlaabte Verbindung duerch eng stëll Period lafen, déi méi laang ass wéi d'Frist, déi Dir versicht ze schloen, a beobacht de Liewensverkéier an d'Resultat vun der Applikatioun. Erfaasst keng Notzlaascht, déi Dir net braucht; Timer a Verbindungszoustand beäntwerten d'Fro.

ss -tio dst 10.60.4.20
# after the quiet interval, same command
ls -l "$ORACLE_HOME/network/admin/sqlnet.ora"

Wann d'Sessioun nach ëmmer verschwënnt, gehéiert d'Frist zu engem Apparat, deen Dir nach net gefrot hutt, oder d'Politik ass eng absolut Limite. Wann se iwwerliewt, notéiert wéi eng Schicht geännert huet, sou datt déi nächst stëll Operatioun d'Enquête net widderhëlt.

Schlussendlech entscheet, wat geschitt, wann d'Verbindung tatsächlech fält, well Liewenskontrollen d'Frequenz reduzéieren an d'Méiglechkeet ni eliminéieren. Bestëmmt dat registréiert Resultat vun der Datebankoperatioun, ier Dir se erëm schéckt: de Verloscht vun der Äntwert beweist naischt doriwwer, ob d'Aarbecht bestätegt gouf. Fir alles, wat d'Zoumaache vun engem Laptop oder en Tunnel-Neistart iwwerliewen muss, ass eng servereegen Aarbecht mat engem dauerhaften Resultat dat méi staarkt Design, an e Keepalive ass kee Scheduler.

Ähnlech Artikelen