Ö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).

Kapcsolódó cikkek