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;

原文地址:https://www.cnblogs.com/quanweiru/p/3467740.html