[ОТВЕТИТЬ]
21.11.2007 10:01
OlegON
 
Цитата:
7fox7 А нет ли такого понятия в оракле как KeepAlive? Чтобы клиент который юзает подключение, постоянно кидал мелкие пакеты тем самым сообщая о том, что я еще тут и юзаю соединение. В случае если пакеты прекратились, то килл сессии.
Такое есть, но в винде не работает.
21.11.2007 10:06
Vovantus
 
Цитата:
OlegON А чем тебя твоя, в составе серверной установки не устраивает?
а она там есть? :)
21.11.2007 10:10
OlegON
 
Цитата:
Vovantus а она там есть? :)
Start - Run - cmd - orakill
21.11.2007 10:13
Vovantus
 
Цитата:
OlegON Start - Run - cmd - orakill
точно, а я в нете пытался найти *118

Usage: orakill sid thread
where sid = the Oracle instance to target
thread = the thread id of the thread to kill
The thread id should be retrieved from the spid column of a query such as:
select spid, osuser, s.program from
v$process p, v$session s where p.addr=s.paddr

.. и как сюда имя пользоваталя запихать-то? Я думал там просто имя пользователя и всё, а тут полчается нужно скрипт писать чтоли? Не шарю я в этих скриптах нифига, помогите плиз!
21.11.2007 10:17
OlegON
 
Я этот usage прочитал, а ты?
21.11.2007 10:19
OlegON
 
Батник
Цитата:
sqlplus /nolog @killuser.sql %1
call killuser2.cmd
del killuser2.cmd
rem exit
killuser.sql
Цитата:
connect sys/pwd@taberco
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 1000
set pagesize 9999
set trimspool on
SET TAB OFF
set heading off
spool killuser2.cmd
select 'orakill TABERCO '||spid from v$process p, v$session s where p.addr=s.paddr and s.username=upper('&1');
spool off
exit
21.11.2007 10:22
Vovantus
 
Цитата:
OlegON Я этот usage прочитал, а ты?
я тоже прочитал.. тока фиг знает как там с этой базой общаться через эти sid и thread Нет у меня вводных данных к сожалению, а проблему решать нужно, вот и мучаюсь!
21.11.2007 14:07
Vovantus
 
Олег, ты для кого скрипт написал-то? :) Я ж в окакле как в балете. Сидел, тупил-тупил, но так и не понял где там экзешник вставляется orakill.exe Потом допёрло, что это что-то другое ты написал..
30.11.2007 13:24
Mihon
 
Тоже интересуюсь этой темой, хотел добавить в одну свою разработку (некоммерческую) раздел, посвященный просмотру и убиению процессов,
Вопросики возникают:
Каким из двух вариантов оптимальнее воспользоваться:
1. Способом orakill
2. Вот таким примерно запросом:
Код:
SELECT sid, serial#, username
FROM v$session;

ALTER SYSTEM KILL SESSION 'sid, serial';
Или обоими сразу?
Исчезнет ли процесс со статусом "KILLED" во втором случае.
30.11.2007 13:32
Mihon
 
Сам отвечу на свой последний вопрос:
После способа №2 должны остаться сессии со статусом "KILLED".
Это нормально, через некоторое время записи об убиенных из V$SESSION исчезнут. Если нужно вычищать их насильственно, можно использовать
недокументированную команду
Код:
alter system kill session 'SID, SERIAL' immediate;
Однако первый вопрос имеет место...
29.02.2008 10:11
Vovantus
 
в продолжении темы.. вопрос звучит бредово, но всё равно задам. Может есть возможность перед убиеним сессии через скрипт, сохранять редактируемые документы? Т.е. пользователь набивал документ, пропала связь, потом после восстановления он запускает скрипт чтобы убить подвисшую сессиию, она предварительно сохраняет все открытые документы и умирает, типа.. так можно зделать?
29.02.2008 11:10
OlegON
 
Редактируемый документ находится в ОЗУ компьютера оператора... Без доработки интерфейса СМ нереализуемо.
29.02.2008 11:23
akonev
 
чисто умозрительно - можно сочинять софтину, которая будет много тыкать в кнопки:
открывать все окошки, выскребать в буфер обмена данные, сохранять их локально...
потом цепляться к базе и пихать в нее все, что наковыряла.

только это безумно трудоемко, коряво и привязано к конкретной версии.

овчинка выделки не стоит нисколечко.

лучше вызверить юзверей каждые 10-15 минут в сохранение тыкать.
кто пару раз накладную в 300 позиций терял - быстро осознают полезность и вырабатывают рефлекс.
а кто не ткнул - сам виноват.
29.02.2008 12:22
Vovantus
 
ясно, спасибо.. идея действительно бредовая! Вопросов пока нет
10.06.2009 15:25
kwadrox
 
Цитата:
OlegON Я завел профиль ROOT (в DBA Studio, Security), посадил на него себя, всех, кому действительно нужны долгие простои в сессии, после чего поставил у профиля DEFAULT ограничение Idle session в 40 минут. Вот и все. Можно и другие профили завести, только не надо это... Меньше - слетать будут часто, больше - смысл теряется. Сейчас 240 стоит, чтобы не залочили случайно базу, товародвижение в 3 часа ночи считается, база работает круглосуточно.
Я сделал то же самое , поменял значение UNLIMITED в Idle Time на 40 , только вот по прошествии этого времени (сессии в простое) ничего не происходит, такое впечатление что никто ничего и не изменял, может кто сталкивался с таким на 10-ке?
10.06.2009 15:47
OlegON
 
resource_limit=true в pfile и перезапуск базы.
Блин, не посмотрел, что ты про 10ку... Смотри в оракловом разделе про "Распределение ресурсов", все описал только что.


Опции темы


Часовой пояс GMT +3, время: 05:33.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.