Вы можете использовать следующий блок
declare
v_command varchar2(500);
begin
for c in (
select sid, serial#, machine, module, username, client_info, status, inst_id
from gv$session v
where v.status != 'ACTIVE'
--and v.inst_id = '&i_inst_id'
order by username
)
loop
begin
v_command := 'alter system kill session ''' || c.sid || ',' ||c.serial# ||
',@'||to_char(c.inst_id)||''' immediate';
execute immediate v_command;
exception when others then dbms_output.put_line(sqlerrm);
end;
end loop;
end;
, где v$session
заменяется на gv$session
динамическое представление производительности и INST_ID
сопоставление столбцов с параметром номера экземпляра для случая RAC DB
случаев. то есть, даже если у вас есть база данных с одним экземпляром, можно использовать и приведенный выше код.