ORACLE JOB无法停止的处理

本文记录了一个周末迁移4千万数据的任务,在尝试停止未完成的JOB时遇到的困难及解决办法。通过不断尝试,最终通过修改调用的存储过程为NULL的方式成功停止了任务。

有个周末只有的JOB,目的是迁移4千万数据,跑了一宿都没跑完。无奈业务高峰到了,尝试KILL掉,可是做了如下动作居然杀了又起,多次反复,还在RAC两个节点中转移,最后无奈把其调用的存储过程改成NULL过了一会ORACLE才罢休,跑了一会ORACLE就不跑了。

找出正在执行的JOB编号及其会话编号   

SELECT   SID,JOB   FROM   DBA_JOBS_RUNNING;  

停止该JOB的执行   

SELECT   SID,SERIAL#   FROM   V$SESSION   WHERE   SID='1509';   

ALTER   SYSTEM   KILL   SESSION   '&SID,&SERIAL';   

EXEC   DBMS_JOB.BROKEN(&JOB,TRUE);

===================================================================

create or replace procedure dba_bas_clear Authid Current_User is

  num   number;

  Begin

  Null;

end dba_bas_clear;


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值