Oracle TCP_KEEPALIVE nélkül?

 ( NevemTeve | 2014. március 14., péntek - 12:50 )

2017.02.27. 10:46
Említsük meg, hogy AIX-on a könnyen googlizható nevű "no" segédprogrammal lehet a TCP_KEEPALIVE időzítését hangolni.

$ /usr/sbin/no -a | grep keep
                ndpt_keep = 120
              tcp_keepcnt = 8
             tcp_keepidle = 14400 # = 2 óra
             tcp_keepinit = 150
            tcp_keepintvl = 150
# /usr/sbin/no -o tcp_keepidle=120 #  = 60 sec (félmásodperces egységben)

2014.03.14. 15:53
Továbbá szerveroldalon: sqlnet.ora-ban sqlnet.expire_time=<perc>

2014.03.14. 15:20
Aki keres az talál: a leírás szerint a tnsnames.ora-ban az description=(enable=broken) való erre! Mindjárt kipróbálom.

2014.03.14. 11:30
Én vagyok vaksi, vagy tényleg nem használja az ora (10.x, AIX-on) setsockopt(SO_KEEPALIVE-ot)?
Persze már azt sem volt egészen könnyű kideríteni, hogy melyik handle az övé, de talán sikerült, és most ilyesmit látok a debug-ban:

20140314.113815.682 Connected to database "ubio" as "scott@test" in 38 ms
20140314.113815.682 Guessed file handle=15, TCP-connection 17.119.19.37:62211 -> 101.29.116.3:1521
20140314.113815.682 getsockopt (15, SO_KEEPALIVE): 0=OFF

Vajon lesz abból baj, ha én ezt szépen bekapcsolom? Végül is, mi történhet?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Az Oracle csinal csoda dolgokat, en is talaltam mar gyonyoru opciokat random konfigfajlokban, amik csak azert vannak benne, hogy ne legyen compat break... (bar azt mar nem ertem, hogy default-ban minek beletenni az iylet, de mindegy)

Az igazi az lenne, ha ezt a szerverbe tudnám beletenni, hogy minél hamarabb értesüljön a leszakadt kliensekről... Illetve fogalmam sincs, hogy van-e a szerverben ilyen, akár opcionális formában is... (linux-on talán ezt lehetne kipróbálni: http://libkeepalive.sourceforge.net/)