процеДУРА

aфтоp
Дата: 08.08.2005 13:48:50
помогите создать процедуру выполняющее следущее:

execute immediate 'alter system kill session ''||Sid||'.'||Serial||''';

где Sid равен результату:

select SID from V$SESSION where USERNAME='SCOTT' and PROGRAMM='TOAD.exe'

а Serial соответственно:

select Serial# from V$SESSION where USERNAME='SCOTT' and PROGRAM='TOAD.exe'

заранее спасибо ;)
alex-ls
Дата: 08.08.2005 14:13:50
А какие проблемы?
ALTER SYSTEM KILL SESSION '13, 8';
Vadim_Maximov
Дата: 08.08.2005 14:22:27
aфтоp
помогите создать процедуру выполняющее следущее:

execute immediate 'alter system kill session ''||Sid||'.'||Serial||''';

где Sid равен результату:

select SID from V$SESSION where USERNAME='SCOTT' and PROGRAMM='TOAD.exe'

а Serial соответственно:

select Serial# from V$SESSION where USERNAME='SCOTT' and PROGRAM='TOAD.exe'

заранее спасибо ;)

Типа того:
begin
  for rec in (select Serial#, sid from V$SESSION where USERNAME='SCOTT' and PROGRAM='TOAD.exe')
  loop
    execute immediate 'alter system kill session ''||rec.Sid||'.'||rec.Serial||''';
  end loop;
end;
aфтоp
Дата: 08.08.2005 14:33:05
alex-ls
А какие проблемы?
ALTER SYSTEM KILL SESSION '13, 8';


как-нибудь нужно дать пользователю возможность "убивать" собственные сессии но при этом чтобы он не имел возможности убить другие сессии.
сложность в том что USERNAME может быть одинакоывым..отличаться может только OSUSER и PROGRAM.

я понимаю что это "самоубийство" давать такие возможности....но нужно..
alex-ls
Дата: 08.08.2005 14:59:04
aфтоp
alex-ls
А какие проблемы?
ALTER SYSTEM KILL SESSION '13, 8';


как-нибудь нужно дать пользователю возможность "убивать" собственные сессии но при этом чтобы он не имел возможности убить другие сессии.

Не нужно! Лучше огласите задачу с самого начала.
aфтоp

я понимаю что это "самоубийство" давать такие возможности....но нужно..

Видимо не понимаете!
aфтоp
Дата: 08.08.2005 15:13:09
alex-ls
Не нужно! Лучше огласите задачу с самого начала...

девелоперы постоянно грузят запросами которые выполняются до недели..
потом просят их "убить"...
начальство решило дать\добавить им прав как можно меньше но чтоб они имели возможность убивать сессии без нас.
пытался убедить в глупости данного решения (хотя бы потому что одновременно под одним USERNAME могут работать до 5 девелоперов)- бесполезно - ИЩИ выход...
I_L_U_H_A
Дата: 08.08.2005 15:14:32
aфтоp
alex-ls
Не нужно! Лучше огласите задачу с самого начала...

девелоперы постоянно грузят запросами которые выполняются до недели..
потом просят их "убить"...
начальство решило дать\добавить им прав как можно меньше но чтоб они имели возможность убивать сессии без нас.
пытался убедить в глупости данного решения (хотя бы потому что одновременно под одним USERNAME могут работать до 5 девелоперов)- бесполезно - ИЩИ выход...


Сделай два сервака. Один девелоперский, один рабочий.
И пусть они на девелопере творят что хотят.
VasyakinM
Дата: 08.08.2005 15:26:42
Можно конечно в процедуре проверять машину с которой запущена сессия
или какой другой параметр из контекста. Но это честно говоря извращение :)
Если есть такая возможность реально лучше сделать отдельный сервак и пусть
делают что хотят.
alex-ls
Дата: 08.08.2005 15:28:46
aфтоp
alex-ls
Не нужно! Лучше огласите задачу с самого начала...

девелоперы постоянно грузят запросами которые выполняются до недели..
потом просят их "убить"...

Сам девелопер! Бывает такая необходимость ;)
aфтоp
Дата: 08.08.2005 15:40:03
самое смешное что это и есть ОТДЕЛЬНЫЙ сервак.
просто полный доступ давать тоже глупо - либо передерутся что кто-то что-то удалил либо потом перенесем то что они там "натворили" на продакшен и будет работать медленее(если вообще будет) потом будет задача: искать что и где они изменили в настройках на девелопере.