Öld meg a halott ülés Oracle DBA
Öld meg a halott ülés
Gyakran előfordul, hogy a szerver elvesztette a kapcsolatot az ügyféllel. Ebben az esetben, ha az ülésen a «aktív» állapotát, a pillanat eljön, amikor a szerver folyamat, hogy foglalkozni kell az ügyfélnek. És ha nincs kapcsolat, akkor a szerver folyamat befejeződött, a háttér folyamat PMON tisztítja a lefoglalt erőforrásokat. És ha az ülés volt „inaktív” állapota? Vagy session „befagyott” valamilyen oknál fogva, és blokkoló, amely tartja, zavarja a munkámat, a többi vásárló? Vagy időtúllépés tűzfal / router / switch megakadályozza élni egy ügyfél kapcsolatot a szerver?
Ebben az esetben az első dolog, amit próbál végrehajtani:
ALTER SYSTEM KILL SESSION 'sid, soros #';
ALTER SYSTEM BONTÁS SESSION 'sid, soros #' KÖZVETLEN;
Gyakran előfordul, hogy a szerver elvesztette a kapcsolatot az ügyféllel.
Ebben az esetben, ha az ülésen a státusza «aktív», a pillanat eljön,
Ha a szerver folyamat, hogy foglalkozni kell az ügyfélnek. És ha a kapcsolat
nem lesz vele, akkor a szerver folyamat befejeződött, a háttér folyamat
PMON tisztítja a lefoglalt erőforrásokat. És ha az ülés képes volt
„Inaktív”? Vagy session „befagyott” valamilyen oknál fogva, és blokkolás, amit
tart, zavarja a munkámat, a többi vásárló?
Vagy időtúllépés tűzfal / router / switch akadályozzák élő ügyfél kapcsolatok
Ebben az esetben az első dolog, amit próbál végrehajtani:
Amennyiben az értékek sid és sorozatszáma lehet beszerezni
De, sajnos! Gyakran előfordul, hogy az ülés lesz
akkor az állapot a „KILLED” (folyamat = „ál”), és
megszabadulni az ülés csak akkor lehetséges, miután
reboot. És ha ez nem lehetséges?
Akkor próbáld ki a következőket:
- Mi határozza meg a folyamat halott keresztül
az alábbi lekérdezést: SELECT p.spid v $ munkamenet s,
v $ folyamat p ahol s.paddr = p.addr;
- Ha sikerült megtalálni a halott folyamat, majd távolítsa
az operációs rendszer. A Linux
realizált kill -9 spid parancsot.
De ebben az esetben, vannak buktatók, például
nem minden operációs rendszer nem tudja megtisztítani
memória után ilyen manipulációk.
Van egy másik lehetőség:
Próbálja sqlnet.ora a kiszolgálón
állítsa be a SQLNET.EXPIRE_TIME
(Perc).