Oracle Kill Session – FRM-40501
FRM-40501: ORACLE error: unable to reserve record for update or delete
frm-40501:oracle 错误:无法保留用于更新或删除的记录
-- 慎用 kill session
declare
cursor c1
is
select dob.object_name table_name
, lo.session_id
, vss.serial# serial_id
, vss.action action
, vss.osuser osuser
, vss.process ap_pid
, vps.spid db_pid
from v$locked_object lo
, dba_objects dob
, v$session vss
, v$process vps
where lo.object_id = dob.object_id
and lo.session_id = vss.sid
and vss.paddr = vps.addr
/*AND (LOWER(DOB.OBJECT_NAME) = LOWER('t_pickhouse') OR
LOWER(DOB.OBJECT_NAME) = LOWER('t_pickhouse'))*/
order by 2, 3, dob.object_name;
begin
for i in c1
loop
execute immediate
'ALTER SYSTEM KILL SESSION '''
|| i.session_id
|| ','
|| i.serial_id
|| ''' IMMEDIATE';
end loop;
end;