Архив на месяц Сентябрь, 2009

Как программно убить все активные сессии веб-сервера апаче?

Опубликовано: Сентябрь 16, 2009, категория: администрирование.

Не знаю у кого как, а у нас периодически случаются такие моменты, когда база под нагрузкой начинает вдруг тупить - количество активных сессий начинает расти, расти, сервер начинает загибаться, ничего не открыается и не работает. Для таких случаев бывает полезно просто покилять все активные сессии веб-сервера и тогда в 95% случаев работоспособность восстанавливается.

Для этого может пригодиться следующая процедура:

declare
– Local variables here
i integer;
begin
for j in (select ‘ALTER SYSTEM KILL SESSION ”’ || t.SID || ‘, ‘ ||
t.SERIAL# || ”” as str
from v$session t
where t.STATUS = ‘ACTIVE’
and t.PROGRAM like ‘httpd@%’) loop
execute immediate j.str;
end loop;
end;

На здоровье. :)