Oracle中创建了一个job,每分钟执行一次,那么怎么样使job停下来,但不删除它?

Oracle中创建了一个job,每分钟执行一次,那么怎么样使job停下来,但不删除它?,第1张

job一旦运行是无法停止的(除非断电、停止数据库),但是使用 update uesr_jobs set broken = 'Y' where job = '你的job编号',broken后,job就无法启动了。要启动的话,得修改broken和next_date 参数。

1、把init.ora中如下两个参数打开

JOB_QUEUE_INTERVAL=60

JOB_QUEUE_PROCESSES=4

job_queue_keep_connections=true

然后重启一个库,如果原来已经打开了则不用这步了

2、示例,以下由sqlplus 来执行,具体参照一下相关的文档

VARIABLE jobno number

BEGIN

DBMS_JOB.SUBMIT(:jobno,

’p_test’

SYSDATE,’SYSDATE + 1/72’)

commit

END

DBMS_JOB.SUBMIT(:jobno,//job号

’your_procedure’,//要执行的过程

trunc(sysdate)+1/24,//下次执行时间

’trunc(sysdate)+1/24+1’//每次间隔时间

)

删除job:dbms_job.remove(jobno)

修改job:dbms_job.what(jobno,what)

修改下次执行时间:dbms_job.next_date(job,next_date)

修改间隔时间:dbms_job.interval(job,interval)

停止job:dbms.broken(job,broken,nextdate)

启动job:dbms_job.run(jobno)

例子:

VARIABLE jobno number

begin

DBMS_JOB.SUBMIT(:jobno,

’Procdemo’,

SYSDATE, ’SYSDATE + 1/720’)

commit

end


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6715855.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-27
下一篇2023-03-27

发表评论

登录后才能评论

评论列表(0条)

    保存