DB: Oracle 10g
O / S: Windows Server 2003 64 bity
Przeszukuję listę sesji Oracle generowanych przez aplikacje internetowe (filtruj według programu = w3wp.exe)
select * from V$session
where UPPER(program) LIKE '%W3%'
order by logon_time
Według Logon_Time, dlaczego nadal istnieją sesje od 31/07/2012 lub 01/08/2012 lub jakakolwiek sesja przed dniem dzisiejszym (21/08/2012)?
Skonfigurowałem na sqlnet.ora: SQLNET.EXPIRE_TIME = 20 Więc to oznacza, że co 20 minut Oracle sprawdza, czy połączenia są nadal aktywne.
Wszystkie schematy użytkownika mają profil domyślny. Oznaczałoby to, że żadna sesja nigdy nie wygasa ani nie umrze?
Dodano w odpowiedzi na komentarz Phila:
Dodano w odpowiedzi na odpowiedź Phila:
oracle
oracle-10g
Delmonte
źródło
źródło
v$session.PREV_EXEC_START
na te sesje? Podejrzewam, że są częścią puli połączeń i dlatego nie wyłączyli się, ponieważ są często używane.INACTIVE
Oznacza tylko, że nie jest wykonywana instrukcja SQL dokładnie w momencie sprawdzaniav$session
. Jeśli są częścią puli połączeń, wykonują swoją pracę prawidłowo - celem całej puli połączeń jest wyeliminowanie potrzeby wielu logowania / wylogowywania i utrzymywanie trwałych sesji w celu szybkiego uruchamiania (znacznie większe logowanie ogólne ponownie i ponownie wystarczy wykonać jedno zapytanie). Nie rozumiem, dlaczego się o to martwisz.Odpowiedzi:
Podejrzewam, że są częścią puli połączeń i dlatego nie wyłączyli się, ponieważ są często używane.
INACTIVE
wv$session
po prostu oznacza, że nie jest to instrukcja SQL wykonywane w momencie, sprawdzającv$session
.Jeśli należą do puli połączeń, prawidłowo wykonują swoją pracę, logując się przez długi czas. Głównym celem pulowania połączeń jest wyeliminowanie konieczności logowania się i wylogowywania oraz utrzymywanie trwałych sesji w celu szybkiego uruchamiania zapytań - istnieje znacznie większe ogólne obciążenie logowania w celu wykonania jednego zapytania, a następnie rozłączanie się za każdym razem.
Aby uzyskać czas ostatniej aktywności dla każdej sesji:
Odradzam zabijanie sesji, chyba że wiesz, że nie spowoduje to problemów po stronie aplikacji (na przykład próby użycia sesji, która została zabita).
Może się zdarzyć, że patrzysz na niepoprawnie skonfigurowaną pulę połączeń, która tworzy setki połączeń po uruchomieniu aplikacji - pula połączeń może być o rząd wielkości większa niż powinna. Sugeruję skontaktowanie się z programistami / pracownikami wsparcia aplikacji i przyjrzenie się konfiguracji puli połączeń.
Po przeprowadzeniu drobnych badań w3wp.exe jest procesem puli aplikacji IIS - prawie na pewno chcesz porozmawiać z administratorami serwera IIS, aby uzyskać pomoc w konfiguracji puli połączeń.
źródło