启用和禁止Oracle的dbms_job


在我们不想让某个job运行时,可将其禁用,通过调用dbms_job.broken完成。

 

dbms_job.broken过程的语法为:

dbms_job.broken(

    job         in binary_integer,

    broken      in boolen,

    next_date   in date default sysdate);

 

因此在调用过程broken时,至少需要提供两个参数:job和broken,next_date通常默认采用缺省值。broken值为true时,表示禁用job;false时,表示启用job。如下命令将禁用job 341:

 

SQL> exec dbms_job.broken(341,true);

 

PL/SQL procedure successfully completed.

 

注意,执行dbms_job.broken过程时,登录用户需为job属主。否则会出现下列错误:

 

$ sqlplus ‘/as sysdba’

SQL> exec dbms_job.broken(287,true);

BEGIN dbms_job.broken(287,true); END;

 

*

ERROR at line 1:

ORA-23421: job number 287 is not a job in the job queue

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86

ORA-06512: at "SYS.DBMS_IJOB", line 529

ORA-06512: at "SYS.DBMS_JOB", line 245

ORA-06512: at line 1

 

启用已被禁用的job,通过如下命令:

 

SQL> exec dbms_job.broken(341,false);

 

PL/SQL procedure successfully completed.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值