Sessjoni Oracle mitlufa fuq il-VPN? Iċċekkja s-saffi keepalive
Xogħol sieket fuq il-bażi tad-dejta jista’ jgħaddi minn fluss tan-netwerk inattiv. Għaddi mill-iswiċċ tas-socket, il-valuri prestabbiliti tal-kernel u s-setting ta’ Oracle Net fl-ordni t-tajba.
Ħamsa u għoxrin minuta ta’ xogħol utli fuq il-bażi tad-dejta kważi ma jipproduċu ebda output, u minn kull apparat fit-triq dak il-fluss jidher inattiv. L-istat inattiv huwa eżattament dak li jiġi miġbur. Ir-rapport wara dejjem għandu l-istess forma: il-mistoqsija kienet għaddejja, imbagħad is-sessjoni sparixxiet, u r-riżultat qatt ma wasal.
Erba’ kontrolli jiddeċiedu jekk sessjoni siekta tibqax ħajja, u dawn imorru mis-socket lejn barra. Agħmilhom fl-ordni, għax kull waħda tassumi li s-saff ta’ qabel qed jagħmel xogħlu.
Liema fluss jibqa’ sieket
Il-konnessjoni li timporta hija dik li ġġorr it-traffiku tal-bażi tad-dejta, identifikata mill-indirizzi u l-portijiet tagħha stess. Xejn ieħor ma jġeddidha. Ping lejn gateway, it-tieni konnessjoni SQL mill-istess host u t-taħbit proprju tal-mina huma flussi separati b’stat separat fuq kull apparat li jsegwihom.
ss -tio dst 10.60.4.20
sysctl net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_intvl net.ipv4.tcp_keepalive_probes
Il-lista tas-sockets turi timers u stat tal-kju għall-konnessjoni ħajja, li tgħid aktar minn test ta’ aċċessibilità. Il-valuri sysctl huma l-prestabbiliti tal-kernel għall-imġiba tal-keepalive, u s-sezzjoni li jmiss tispjega għaliex jistgħu qatt ma japplikaw għas-sessjoni tiegħek. Prestabbilit li qatt ma jiskatta ma jistax jiġi distint minn ebda prestabbilit.
Ikteb l-indirizzi, il-portijiet u l-interface li tuża l-konnessjoni. Meta sessjoni tmut, dawk id-dettalji huma li jħalluk tistaqsi l-apparat it-tajjeb x’għamel, minflok tistaqsi jekk in-netwerk kienx jaħdem.
Jekk il-politika tal-inattività tiskadix jew tillimitax
Żewġ politiki jipproduċu l-istess sintomu u jeħtieġu tweġibiet opposti. Timeout tal-inattività jneħħi stat li traffiku kwalifikanti seta’ ġedded, u keepalive jista’ jipprevjeni dan. Limitu assolut tas-sessjoni jneħħi l-fluss wara tul fiss irrispettivament mill-attività, u ebda keepalive ma jbiddel dan.
Staqsi lis-sid ta’ kull intermedjarju liema mill-żewġ jimplimenta. Firewall, apparat NAT, load balancer u gateway tal-cloud kollha jistgħu jżommu stat, u m’għandhomx għalfejn jaqblu. L-aktar dejjaq jistabbilixxi l-iskadenza li trid tegħleb.
Dak id-distinzjoni tgħidlek ukoll meta tieqaf tagħdel. Jekk il-politika hija limitu assolut, is-soluzzjoni t-tajba hija unità ta’ xogħol iqsar, xogħol li jista’ jerġa’ jibda, jew eċċezzjoni approvata, u l-kontroll hawn taħt sempliċement jikkonferma li l-keepalives ma bidlu xejn.
L-iswiċċ tas-socket wara l-prestabbiliti ta’ Linux
Il-keepalive huwa opt-in għal kull socket. Il-prestabbiliti tal-kernel jiddeskrivu kif iġibu ruħhom il-probes ladarba socket ikun attiva l-mekkaniżmu, u ma jattivawhx għal konnessjonijiet eżistenti. Applikazzjoni li qatt ma titlob dan ma tirċevix probes, x’jgħidu l-valuri sysctl.
Għalhekk iż-żieda tan-numri waħedha ma tbiddel xejn għal klijent tal-bażi tad-dejta. Il-librerija tal-klijent jew l-applikazzjoni trid tattiva l-mekkaniżmu, u fejn l-istack joffri kontrolli għal kull konnessjoni, setting limitat jgħaddi minn bidla fil-host kollu li taffettwa servizzi mhux relatati.
L-intervall sal-ewwel probe mhuwiex ukoll timeout tal-mistoqsija. Konnessjoni f’saħħitha tibqa’ siekta bejn il-probes, u peer mejjet jiġi rikonoxxut skont l-intervall u l-għadd tal-probes. Li taqra dawn it-tliet valuri bħala timeout wieħed huwa kif in-nies jaslu għal settings li jsibu l-ħsara jew tard wisq jew kmieni wisq. Dawn jikkontrollaw id-detezzjoni, mhux il-paċenzja tal-applikazzjoni.
EXPIRE_TIME hija setting tal-bażi tad-dejta, mhux tiswija tan-netwerk
Oracle Net joffri l-mekkaniżmu tiegħu stess tal-vitalità, ikkonfigurat fil-profil effettiv għall-proċess u mhux f’fajl arbitrarju li jkun jismu b’mod simili. Il-valur huwa espress f’minuti.
SQLNET.EXPIRE_TIME = 5
L-iskop ewlieni tiegħu huwa d-detezzjoni fuq is-server ta’ konnessjonijiet mejta, u fuq pjattaformi li jappoġġjaw il-mudell imtejjeb jirregola wkoll l-imġiba tal-keepalive TCP għal dawk il-konnessjonijiet. Din hija proprjetà utli: is-saff tal-bażi tad-dejta jista’ jorganizza probes mingħajr ma jitlob lill-applikazzjoni tal-klijent tibdel.
Il-valur illustrattiv hawn fuq huwa għażla kkoordinata kontra skadenza assunta, mhux rakkomandazzjoni. Il-gwida ġenerali dokumentata hija intervall itwal, u n-numru t-tajjeb jiddependi mill-implimentazzjoni installata, mill-ispiża tal-probes li taċċetta u mir-regoli reali tat-tiġdid fit-triq. Poġġi s-setting fil-profil li jaqra l-proċess rilevanti, u kkonferma li l-proċess ħa dan. Oracle tiddokumenta l-postijiet tal-profil u l-imġiba tad-detezzjoni fir-referenza tal-parametri tagħha.
Ittestja l-intervall sieket, imbagħad ippjana l-irkupru
Ħalli konnessjoni ġdida permessa tgħaddi minn perjodu sieket itwal mill-iskadenza li qed tipprova tegħleb, u osserva t-traffiku tal-vitalità u r-riżultat tal-applikazzjoni. Tittaqqafx kontenut tal-payload li ma għandekx bżonnu; it-timers u l-istat tal-konnessjoni jwieġbu l-mistoqsija.
ss -tio dst 10.60.4.20
# after the quiet interval, same command
ls -l "$ORACLE_HOME/network/admin/sqlnet.ora"
Jekk is-sessjoni xorta tispiċċa, l-iskadenza tappartjeni għal apparat li għadek ma staqsejtx, jew il-politika hija limitu assolut. Jekk tiflaħ, innota liema saff inbidel biex l-operazzjoni siekta li jmiss ma terġax tagħmel l-investigazzjoni.
Fl-aħħar, iddeċiedi x’jiġri meta l-konnessjoni taqa’ tassew, għax il-kontrolli tal-vitalità jnaqqsu l-frekwenza u qatt ma jneħħu l-possibbiltà. Stabbilixxi r-riżultat irreġistrat tal-operazzjoni tal-bażi tad-dejta qabel terġa’ tibgħatha: telf it-tweġiba ma jipprovax xejn dwar jekk ix-xogħol ġiex ikkonfermat. Għal kull ħaġa li trid tibqa’ ħajja meta laptop jingħalaq jew mina terġa’ tibda, xogħol proprjetà tas-server b’riżultat dejjiemi hija d-disinn l-aktar b’saħħtu, u keepalive mhuwiex skedar.