EBS取消正在运行的请求

SELECT dob.object_name table_name,
       lo.session_id,
       vss.serial#,
       vss.action action,
       vss.osuser osuser,
       vss.process ap_pid,
       vps.spid db_pid,
       vss.status,
       'ALTER SYSTEM KILL SESSION ''' || vss.sid || ',' || vss.serial# || ''';',
       'kill -9  ' || vps.spid,  --注意:杀进程不要乱用,风险很大(UNIX、LINUX下使用)
       'orakill ORCL ' || vps.spid --注意:杀进程不要乱用,风险很大(WINDOWS下使用)
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
ORDER  BY 2,3,dob.object_name;

配合使用

declare
  cursor c_r is

    select cp.USER_CONCURRENT_PROGRAM_NAME,
           r.request_id,
           r.requested_by user_id,
           r.responsibility_id,
           r.responsibility_application_id
      from fnd_concurrent_requests r, fnd_concurrent_programs_vl cp
     where r.concurrent_program_id = cp.CONCURRENT_PROGRAM_ID
       and r.phase_code in ('P', 'R')--待定,运行中
       --and cp.CONCURRENT_PROGRAM_NAME = 'XLAREPSEQ';
       ;
  l_bool boolean;
  l_msg varchar2(2000);
begin
  for rec in c_r loop
    fnd_global.APPS_INITIALIZE(user_id      => rec.user_id, --请求提交用户ID
                               resp_id      => rec.responsibility_id, --请求提交职责ID
                               resp_appl_id => rec.responsibility_application_id); --职责应用

    l_bool := fnd_concurrent.cancel_request(request_id => rec.request_id,
                                            message    => l_msg);
    commit;
    dbms_output.put_line(rec.USER_CONCURRENT_PROGRAM_NAME || '=>请求ID:' ||
                         rec.request_id || ',message:' || l_msg);

  end loop;

end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值