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:
INACTIVE
Oznacza tylko, że nie jest wykonywana instrukcja SQL dokładnie w momencie sprawdzania v$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.
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.